[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181126195345.GI12455@dhcp22.suse.cz>
Date: Mon, 26 Nov 2018 20:53:45 +0100
From: Michal Hocko <mhocko@...nel.org>
To: Hugh Dickins <hughd@...gle.com>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Baoquan He <bhe@...hat.com>, Vlastimil Babka <vbabka@...e.cz>,
Andrea Arcangeli <aarcange@...hat.com>,
David Hildenbrand <david@...hat.com>,
Mel Gorman <mgorman@...hsingularity.net>,
David Herrmann <dh.herrmann@...il.com>,
Tim Chen <tim.c.chen@...ux.intel.com>,
Kan Liang <kan.liang@...el.com>,
Andi Kleen <ak@...ux.intel.com>,
Davidlohr Bueso <dave@...olabs.net>,
Peter Zijlstra <peterz@...radead.org>,
Christoph Lameter <cl@...ux.com>,
Nick Piggin <npiggin@...il.com>, pifang@...hat.com,
linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCHi v2] mm: put_and_wait_on_page_locked() while page is
migrated
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
Powered by blists - more mailing lists