- scheduler: fix logic error limited locality scheduling.

In LLS array pass, skip file-on-host check if host
    doesn't have any sticky files.
    TODO: it should actually be "any sticky files for this app".
    But we currently don't have any way to know that.


svn path=/trunk/boinc/; revision=26108
This commit is contained in:
David Anderson 2012-09-13 17:38:55 +00:00
parent d00c1bce58
commit cc13f2ee6f
2 changed files with 22 additions and 2 deletions

View File

@ -5946,3 +5946,13 @@ David 12 Sept 2012
html/user/
forum_search_action.php
David 13 Sept 2012
- scheduler: fix logic error limited locality scheduling.
In LLS array pass, skip file-on-host check if host
doesn't have any sticky files.
TODO: it should actually be "any sticky files for this app".
But we currently don't have any way to know that.
sched/
sched_array.cpp

View File

@ -106,10 +106,20 @@ static bool quick_check(
}
// locality sched lite check.
// Note: allow non-LSL jobs; otherwise we could starve them
// Allow non-LSL jobs; otherwise we could starve them
// NOTE: THIS NEGATES THE OTHER SCHED POLICIES (reliable, etc.).
// Need to think of some way of combining them.
//
if (g_wreq->locality_sched_lite) {
if (app->locality_scheduling == LOCALITY_SCHED_LITE) {
// skip this job if host has sticky files
// but none of them is used by this job.
// TODO: it should really be "host has sticky files for this app".
// However, we don't have a way of making that association.
// Could add something based on filename
//
if (app->locality_scheduling == LOCALITY_SCHED_LITE
&& g_request->file_infos.size()
) {
int n = nfiles_on_host(wu_result.workunit);
if (config.debug_array) {
log_messages.printf(MSG_NORMAL,