Red Hat Bugzilla – Bug 112284
Possible typo in linux-2.4.22-ac1-scheduler-update.patch?
Last modified: 2007-11-30 17:10:34 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; de-AT; rv:1.4) Gecko/20030922
Description of problem:
While possible effect is unknown, there is a possible typographical
mistake in the Fedora Core's O(1) scheduler interactivity patch backport.
The macro CAN_MIGRATE_TASK is modified by the Con Kolivas O(1)
interactivity patch to static inline int can_migrate_task(task_t *,
runqueue_t *, int, int). The first condition in the original macro
(!idle || (NS_TO_JIFFIES(now - (p)->timestamp) > cache_decay_ticks))
has been negated (by using elementary Boolean algebra) to the first
if (idle && (delta <= JIFFIES_TO_NS(cache_decay_ticks)))
which returns 0 (false) if the condition is met.
In linux-2.4.22-ac1-scheduler-update.patch from
kernel-2.4.22-1.2115.nptl.src.rpm , and also contrary to the current
kernel.org 2.6.0-test11 kernel, this condition has been rewritten to
if (!idle && (delta <= JIFFIES_TO_NS(cache_decay_ticks)))
(with negation of idle).
Unless there is a good reason, the liklihood for this being a
typographical mistake is very high.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Install (unpack) kernel-2.4.22-1.2115.nptl.src.rpm
2. Open linux-2.4.22-ac1-scheduler-update.patch and go to the patch
section @@ -755,21 +1193,39 @@ for kernel/sched.c
3. Go to the third line in can_migrate_task() - and also note the
previous macro variant cited above.
This function has identical logic to that of 2.6.0-test11. Why do you
think it's "contrary to the current kernel.org 2.6.0-test11 kernel"?
OK, first sorry for the incorrect position of difference I gave. Now I
looked through the patch files for 2.6.0-test6 (where this
originates), and there seems to be a difference between
from Con Kolivas and kernel.org's patch-2.6.0-test6.
The issue is still strange, since O20.3int is the patch for O(1)
interactivity, and there has been no comment except a "clean up" of
CAN_MIGRATE_TASK. But since this seems not to be a Red Hat specific
problem, maybe we can close this issue.
Now I looked through the Kernel mailing list archives, the inversion
of idle is obviously introduced by Andrew Theurer
<firstname.lastname@example.org> (Wed Aug 27 2003). The way in 2.6.0-test6 and
later, also Fedora Core 1, seems to be the correct one. I think we can
close this issue.