On Mon 26-11-18 11:27:07, Hugh Dickins wrote:
[...]
> @@ -1049,25 +1056,44 @@ static void wake_up_page(struct page *page, int bit)
>       wake_up_page_bit(page, bit);
>  }
>  
> +/*
> + * A choice of three behaviors for wait_on_page_bit_common():
> + */
> +enum behavior {
> +     EXCLUSIVE,      /* Hold ref to page and take the bit when woken, like
> +                      * __lock_page() waiting on then setting PG_locked.
> +                      */
> +     SHARED,         /* Hold ref to page and check the bit when woken, like
> +                      * wait_on_page_writeback() waiting on PG_writeback.
> +                      */
> +     DROP,           /* Drop ref to page before wait, no check when woken,
> +                      * like put_and_wait_on_page_locked() on PG_locked.
> +                      */
> +};

I like this. It makes to semantic much more clear.

Thanks!
-- 
Michal Hocko
SUSE Labs

Reply via email to