[PATCH] preempt-kernel on 2.4.19-pre2-ac2 bugfix

Robert Love
2002-03-05T00:23:25Z

The same schedule_tail bug affecting 2.5 affects 2.4 with O(1). I.e.,
2.4.19-pre2-ac2.

In recent O(1) scheduler releases, an optimization was made that removed
schedule_tail from UP kernels. This causes the initial preempt_count of
a new task, which starts at 1, to never decrement to zero and thus never
become preemptible. CONFIG_PREEMPT requires schedule_tail, too.

Users of 2.4+O(1)+preempt (i.e. -ac) should use this patch:

http://www.kernel.org/pub/linux/kernel/people/rml/preempt-kernel/v2.4/preempt-kernel-rml-2.4.19-pre2-ac2-2.patch

instead. Thanks to everyone who pointed out the lousy performance. Enjoy,

Robert Love