Re: [RFC][PATCH -mm 2/2] Freezer: Use wait queue instead of busy looping

Rafael J. Wysocki
2007-07-31T10:17:59Z

On Tuesday, 31 July 2007 12:00, Pavel Machek wrote:
> Hi!
>
> > > Ok, could we just do schedule_timeout(HZ/10) or something, but when we
> > > _know_ we woke someone, wakeup() that task? No new variables, keep
> > > existing logic.
> >
> > The logic doesn't change that much. :-)
> >
> > > That should still get most of the benefits, and be two liner, no?
> >
> > Well, I think we can avoid using refrigerator_called, if this is a problem, but
> > the patch won't be a two liner.
>
> Sure? The current process is ineffective because it polls. If we add
> schedule_timeout(HZ/10), we'll have still correct freezer (and it will
> not waste power any more), but it will delay freezing by HZ/20 on
> average.
>
> If we add wakeup() at strategic place, we should get rid of that delay...

But we'll need to know what to wake up ...

Greetings,
Rafael

--
"Premature optimization is the root of all evil." - Donald Knuth