On Mon, 2006-03-06 at 08:47 +0100, Mike Galbraith wrote:
On Sun, 2006-03-05 at 21:00 -0800, Linus Torvalds wrote:
Is there something else I've missed?
Maybe. Does this add anything to the picture? During boot,
recalc_task_prio() is called with now < p->timestamp. This causes quite
a stir. If you WARN_ON(now < p->timestamp) or printk, you'll have a
dead box due to hundreds of gripes as things churn. Adding...
if (unlikely(now < p->timestamp))
__sleep_time = 0ULL;
...turns it into exactly one gripe.
Nope. Further research shows that this is just a speed-step problem.
Still, the scheduler needs to protect itself, because even with all of
the speed-step stuff enabled, these continue to occurr even after
boot-up if you switch to a low power setting, which screws up the
scheduler.