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. Users of 2.4+O(1)+preempt (i.e. -ac) should use this patch.
From: Robert Love
Subject: [PATCH] preempt-kernel on 2.4.19-pre2-ac2 bugfix
Date: 04 Mar 2002 19:23:10 -0500
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
re: sections
There is not currently a way to submit a story only to a specific section. I will look into modifying the Drupal code to support this feature, though only after I've upgraded to the much improved CVS version.
The KernelTrap upgrade to the CVS Drupal won't be occuring until early April, when I return for a vacation.
Voting
Er, hi, I'm lucky, and I'm new here. I just wanted to point out that I voted 0 because I don't think that this is of very general interest. Instead, as pointed out before, it should go in the linux-category.
--
Lucky
RE: preempt-kernel on 2.4.19-pre2-ac2 bugfix
There's a parallel patch for 2.5.6-pre2 which fixes the same bug (in the 2.5 tree).
announcement is here.
here's a copy of the message:
From: Robert Love
Date: 2002-03-05 0:11:23