• Linus Torvalds's avatar
    Merge tag 'folio-5.17' of git://git.infradead.org/users/willy/pagecache · 6020c204
    Linus Torvalds authored
    Pull folio conversion updates from Matthew Wilcox:
     "Convert much of the page cache to use folios
    
      This stops just short of actually enabling large folios. It converts
      everything that I noticed needs to be converted, but there may still
      be places I've overlooked which still have page size assumptions.
    
      The big change here is using large entries in the page cache XArray
      instead of many small entries. That only affects shmem for now, but
      it's a pretty big change for shmem since it changes where memory needs
      to be allocated (at split time instead of insertion)"
    
    * tag 'folio-5.17' of git://git.infradead.org/users/willy/pagecache: (49 commits)
      mm: Use multi-index entries in the page cache
      XArray: Add xas_advance()
      truncate,shmem: Handle truncates that split large folios
      truncate: Convert invalidate_inode_pages2_range to folios
      fs: Convert vfs_dedupe_file_range_compare to folios
      mm: Remove pagevec_remove_exceptionals()
      mm: Convert find_lock_entries() to use a folio_batch
      filemap: Return only folios from find_get_entries()
      filemap: Convert filemap_get_read_batch() to use a folio_batch
      filemap: Convert filemap_read() to use a folio
      truncate: Add invalidate_complete_folio2()
      truncate: Convert invalidate_inode_pages2_range() to use a folio
      truncate: Skip known-truncated indices
      truncate,shmem: Add truncate_inode_folio()
      shmem: Convert part of shmem_undo_range() to use a folio
      mm: Add unmap_mapping_folio()
      truncate: Add truncate_cleanup_folio()
      filemap: Add filemap_release_folio()
      filemap: Use a folio in filemap_page_mkwrite
      filemap: Use a folio in filemap_map_pages
      ...
    6020c204
filemap.c 109 KB