Re: [PATCH v6 02/13] mm: remove extra ZONE_DEVICE struct page refcount
From: Jerome Glisse <hidden>
Date: 2021-08-20 06:34:05
Also in:
amd-gfx, dri-devel, linux-ext4, linux-xfs
From: Jerome Glisse <hidden>
Date: 2021-08-20 06:34:05
Also in:
amd-gfx, dri-devel, linux-ext4, linux-xfs
Note that you do not want GUP to succeed on device page, i do not see where that is handled in the new code. On Sun, Aug 15, 2021 at 1:40 PM John Hubbard [off-list ref] wrote:
On 8/15/21 8:37 AM, Christoph Hellwig wrote:quoted
quoted
diff --git a/include/linux/mm.h b/include/linux/mm.h index 8ae31622deef..d48a1f0889d1 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h@@ -1218,7 +1218,7 @@ __maybe_unused struct page *try_grab_compound_head(struct page *page, int refs, static inline __must_check bool try_get_page(struct page *page) { page = compound_head(page); - if (WARN_ON_ONCE(page_ref_count(page) <= 0)) + if (WARN_ON_ONCE(page_ref_count(page) < (int)!is_zone_device_page(page)))Please avoid the overly long line. In fact I'd be tempted to just not bother here and keep the old, more lose check. Especially given that John has a patch ready that removes try_get_page entirely.Yes. Andrew has accepted it into mmotm. Ralph's patch here was written well before my cleanup that removed try_grab_page() [1]. But now that we're here, if you drop this hunk then it will make merging easier, I think. [1] https://lore.kernel.org/r/20210813044133.1536842-4-jhubbard@nvidia.com (local) thanks, -- John Hubbard NVIDIA