If there is exactly 1 task runnable on a system (probably true so long as #
tasks < # cpus), that task will be chosen to run, even if it's goodness is
-1000 or lower. Seeing as it is the only task available, this makes sense,
but on the other hand, by getting a -1000 (or lower) goodness, it is
basically being told NOT to run.
I ran across this while trying to simplify pset (processor binding) for
late 2.2 and 2.3 kernels. If I have one task, and it is bound to CPU 1,
but started running on CPU 2 (pre-bind), it will be rescheduled on CPU 2,
regardless of the fact that goodness() detected this and returned -1000.
Should this be fixed, or should it be left as is?
Tim
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/