Re: [PATCH 1/4] fs/proc/task_mmu: use folio API in pte_is_pinned()

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

 



On 04.06.24 13:48, Kefeng Wang wrote:
Convert to use vm_normal_folio() and folio_maybe_dma_pinned() API,
which helps to remove page_maybe_dma_pinned() in the subsequent change.

Signed-off-by: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx>
---
  fs/proc/task_mmu.c | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index f8d35f993fe5..5aceb3db7565 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -1088,7 +1088,7 @@ struct clear_refs_private {
static inline bool pte_is_pinned(struct vm_area_struct *vma, unsigned long addr, pte_t pte)
  {
-	struct page *page;
+	struct folio *folio;
if (!pte_write(pte))
  		return false;
@@ -1096,10 +1096,10 @@ static inline bool pte_is_pinned(struct vm_area_struct *vma, unsigned long addr,
  		return false;
  	if (likely(!test_bit(MMF_HAS_PINNED, &vma->vm_mm->flags)))
  		return false;
-	page = vm_normal_page(vma, addr, pte);
-	if (!page)
+	folio = vm_normal_folio(vma, addr, pte);
+	if (!folio)
  		return false;
-	return page_maybe_dma_pinned(page);
+	return folio_maybe_dma_pinned(folio);
  }
static inline void clear_soft_dirty(struct vm_area_struct *vma,

Likely we should just get rid of the pte_is_pinned() check completely now. We don't perform the same for PMDs, we don't sync against GUP-fast, and the original COW vs. GUP issue was resolved.

--
Cheers,

David / dhildenb





[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