[PATCH 00/17] Convert GUP to folios

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

 



This patch series is against my current folio for-next branch.  I know
it won't apply to sfr's next tree, and it's not for-next material yet.
I intend to submit it for 5.18 after I've rebased it to one of the
5.17-rc releases.

The overall effect of this (ignoring the primary "preparing for folios
that are not PAGE or PMD sized" purpose) is to reduce the size of gup.o
by ~700 bytes in the config I normally test with.

This patchset just converts existing implementations to use folios.
There's no new API for consumers here to provide information in a more
efficient (address, length) format.  That will be a separate patchset.

Matthew Wilcox (Oracle) (17):
  mm: Add folio_put_refs()
  mm: Add folio_pincount_available()
  mm: Add folio_pincount_ptr()
  mm: Convert page_maybe_dma_pinned() to use a folio
  gup: Add try_get_folio()
  mm: Remove page_cache_add_speculative() and
    page_cache_get_speculative()
  gup: Add gup_put_folio()
  gup: Add try_grab_folio()
  gup: Convert gup_pte_range() to use a folio
  gup: Convert gup_hugepte() to use a folio
  gup: Convert gup_huge_pmd() to use a folio
  gup: Convert gup_huge_pud() to use a folio
  gup: Convert gup_huge_pgd() to use a folio
  gup: Convert for_each_compound_head() to gup_for_each_folio()
  gup: Convert for_each_compound_range() to gup_for_each_folio_range()
  mm: Add isolate_lru_folio()
  gup: Convert check_and_migrate_movable_pages() to use a folio

 arch/powerpc/include/asm/mmu_context.h |   1 -
 include/linux/mm.h                     |  58 +++--
 include/linux/mm_types.h               |   6 +
 include/linux/pagemap.h                |  11 -
 mm/folio-compat.c                      |   8 +
 mm/gup.c                               | 312 ++++++++++++-------------
 mm/hugetlb.c                           |   7 +-
 mm/internal.h                          |   3 +-
 mm/vmscan.c                            |  43 ++--
 9 files changed, 222 insertions(+), 227 deletions(-)

-- 
2.33.0





[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