Re: hashed waitqueues

Andrew Morton
2002-01-04T23:26:56Z

Andrew Morton wrote:
>
> > + /*
> > + * Although the default semantics of wake_up() are
> > + * to wake all, here the specific function is used
> > + * to make it even more explicit that a number of
> > + * pages are being waited on here.
> > + */
> > + if(waitqueue_active(page_waitqueue(page)))
> > + wake_up_all(page_waitqueue(page));
> ...
>
> Also, why wake_up_all()? That will wake all tasks which are sleeping
> in __lock_page(), even though they've asked for exclusive wakeup
> semantics. Will a bare wake_up() here not suffice?
>

Doh. It helps to read the comment. Suggest that __lock_page()
be changed to use add_wait_queue().

-