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

Pavel Machek
2007-08-01T07:59:40Z

Hi!

> Use the observation that try_to_freeze_tasks() need not loop while waiting for
> the freezing tasks to enter the refrigerator and make it use a wait queue.
>
> The idea is that after sending freeze requests to the tasks regarded as
> freezable try_to_freeze_tasks() can go to sleep and wait until at least one task
> enters the refrigerator.  The first task that does it wakes up
> try_to_freeze_tasks() and the procedure is repeated.  If the refrigerator is not
> entered by any tasks before TIMEOUT expires, the freezing of tasks fails.
>
> This way, try_to_freeze_tasks() doesn't occupy the CPU unnecessarily when some
> freezing tasks are waiting for I/O to complete.

Ok, I guess this is as simple as it gets. ACK.
Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html