Re: [PATCH V1 1/9] mm/gup: repin_folio_unhugely

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/15/2024 4:37 PM, Jason Gunthorpe wrote:
On Sat, Sep 14, 2024 at 06:05:50AM -0700, Steve Sistare wrote:
diff --git a/mm/gup.c b/mm/gup.c
index 947881ff..f8f3f2a 100644
--- a/mm/gup.c
+++ b/mm/gup.c
@@ -3720,3 +3720,21 @@ long memfd_pin_folios(struct file *memfd, loff_t start, loff_t end,
  	return ret;
  }
  EXPORT_SYMBOL_GPL(memfd_pin_folios);
+
+/**
+ * repin_folio_unhugely() - repin a folio at small page granularity
+ * @folio: the folio to repin
+ * @npin:  the number of pages pinned in the folio
+ *
+ * Given a huge page folio that is already pinned, and the number of small
+ * pages that are pinned in it, adjust the pincount to reflect small-page
+ * granularity.  Each small page can later be unpinned individually.
+ */

I think the language choice here is probably not entirely consistent
with the rest of the code

Yes, a good name was not obvious to me, to I submitted a slightly flippant
name to generate some discussion :)


Maybe

  folio_split_user_page_pin(folio, npages)
  @npages: The new number of pages the folio pin reference should hold

  Given a high order folio that is already pinned adjust the reference
  count to allow unpin_user_page_range() and related to be called on a
  the folio. npages is the number of pages that will be passed to a
  future unpin_user_page_range().

Which anchors it in the purpose a little more

Thanks, I will use this if no one objects.

- Steve

The implementation looked OK to me

Jason




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux