mm: remove page_maybe_dma_pinned()

After the last user of page_maybe_dma_pinned() is converted to
folio_maybe_dma_pinned(), remove page_maybe_dma_pinned() and update the
document and comment.

[wangkefeng.wang@huawei.com: fix pin_user_pages.rst underlining]
  Link: https://lkml.kernel.org/r/61b256c7-4989-44ec-83db-f34a1bd4be2d@huawei.com
Link: https://lkml.kernel.org/r/20240604114822.2089819-3-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Helge Deller <deller@gmx.de>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Kefeng Wang 2024-06-04 19:48:20 +08:00 committed by Andrew Morton
parent aca08acce7
commit 2669324b81
2 changed files with 8 additions and 13 deletions

View File

@ -196,20 +196,20 @@ INCORRECT (uses FOLL_GET calls):
write to the data within the pages write to the data within the pages
put_page() put_page()
page_maybe_dma_pinned(): the whole point of pinning folio_maybe_dma_pinned(): the whole point of pinning
=================================================== ====================================================
The whole point of marking pages as "DMA-pinned" or "gup-pinned" is to be able The whole point of marking folios as "DMA-pinned" or "gup-pinned" is to be able
to query, "is this page DMA-pinned?" That allows code such as page_mkclean() to query, "is this folio DMA-pinned?" That allows code such as page_mkclean()
(and file system writeback code in general) to make informed decisions about (and file system writeback code in general) to make informed decisions about
what to do when a page cannot be unmapped due to such pins. what to do when a folio cannot be unmapped due to such pins.
What to do in those cases is the subject of a years-long series of discussions What to do in those cases is the subject of a years-long series of discussions
and debates (see the References at the end of this document). It's a TODO item and debates (see the References at the end of this document). It's a TODO item
here: fill in the details once that's worked out. Meanwhile, it's safe to say here: fill in the details once that's worked out. Meanwhile, it's safe to say
that having this available: :: that having this available: ::
static inline bool page_maybe_dma_pinned(struct page *page) static inline bool folio_maybe_dma_pinned(struct folio *folio)
...is a prerequisite to solving the long-running gup+DMA problem. ...is a prerequisite to solving the long-running gup+DMA problem.

View File

@ -1918,8 +1918,8 @@ static inline struct folio *pfn_folio(unsigned long pfn)
* *
* For more information, please see Documentation/core-api/pin_user_pages.rst. * For more information, please see Documentation/core-api/pin_user_pages.rst.
* *
* Return: True, if it is likely that the page has been "dma-pinned". * Return: True, if it is likely that the folio has been "dma-pinned".
* False, if the page is definitely not dma-pinned. * False, if the folio is definitely not dma-pinned.
*/ */
static inline bool folio_maybe_dma_pinned(struct folio *folio) static inline bool folio_maybe_dma_pinned(struct folio *folio)
{ {
@ -1938,11 +1938,6 @@ static inline bool folio_maybe_dma_pinned(struct folio *folio)
GUP_PIN_COUNTING_BIAS; GUP_PIN_COUNTING_BIAS;
} }
static inline bool page_maybe_dma_pinned(struct page *page)
{
return folio_maybe_dma_pinned(page_folio(page));
}
/* /*
* This should most likely only be called during fork() to see whether we * This should most likely only be called during fork() to see whether we
* should break the cow immediately for an anon page on the src mm. * should break the cow immediately for an anon page on the src mm.