1. 23 Mar, 2022 2 commits
    • Linus Torvalds's avatar
      Merge tag 'folio-5.18b' of git://git.infradead.org/users/willy/pagecache · 6b1f86f8
      Linus Torvalds authored
      Pull filesystem folio updates from Matthew Wilcox:
       "Primarily this series converts some of the address_space operations to
        take a folio instead of a page.
      
        Notably:
      
         - a_ops->is_partially_uptodate() takes a folio instead of a page and
           changes the type of the 'from' and 'count' arguments to make it
           obvious they're bytes.
      
         - a_ops->invalidatepage() becomes ->invalidate_folio() and has a
           similar type change.
      
         - a_ops->launder_page() becomes ->launder_folio()
      
         - a_ops->set_page_dirty() becomes ->dirty_folio() and adds the
           address_space as an argument.
      
        There are a couple of other misc changes up front that weren't worth
        separating into their own pull request"
      
      * tag 'folio-5.18b' of git://git.infradead.org/users/willy/pagecache: (53 commits)
        fs: Remove aops ->set_page_dirty
        fb_defio: Use noop_dirty_folio()
        fs: Convert __set_page_dirty_no_writeback to noop_dirty_folio
        fs: Convert __set_page_dirty_buffers to block_dirty_folio
        nilfs: Convert nilfs_set_page_dirty() to nilfs_dirty_folio()
        mm: Convert swap_set_page_dirty() to swap_dirty_folio()
        ubifs: Convert ubifs_set_page_dirty to ubifs_dirty_folio
        f2fs: Convert f2fs_set_node_page_dirty to f2fs_dirty_node_folio
        f2fs: Convert f2fs_set_data_page_dirty to f2fs_dirty_data_folio
        f2fs: Convert f2fs_set_meta_page_dirty to f2fs_dirty_meta_folio
        afs: Convert afs_dir_set_page_dirty() to afs_dir_dirty_folio()
        btrfs: Convert extent_range_redirty_for_io() to use folios
        fs: Convert trivial uses of __set_page_dirty_nobuffers to filemap_dirty_folio
        btrfs: Convert from set_page_dirty to dirty_folio
        fscache: Convert fscache_set_page_dirty() to fscache_dirty_folio()
        fs: Add aops->dirty_folio
        fs: Remove aops->launder_page
        orangefs: Convert launder_page to launder_folio
        nfs: Convert from launder_page to launder_folio
        fuse: Convert from launder_page to launder_folio
        ...
      6b1f86f8
    • Linus Torvalds's avatar
      Merge tag 'folio-5.18c' of git://git.infradead.org/users/willy/pagecache · 9030fb0b
      Linus Torvalds authored
      Pull folio updates from Matthew Wilcox:
      
       - Rewrite how munlock works to massively reduce the contention on
         i_mmap_rwsem (Hugh Dickins):
      
           https://lore.kernel.org/linux-mm/8e4356d-9622-a7f0-b2c-f116b5f2efea@google.com/
      
       - Sort out the page refcount mess for ZONE_DEVICE pages (Christoph
         Hellwig):
      
           https://lore.kernel.org/linux-mm/20220210072828.2930359-1-hch@lst.de/
      
       - Convert GUP to use folios and make pincount available for order-1
         pages. (Matthew Wilcox)
      
       - Convert a few more truncation functions to use folios (Matthew
         Wilcox)
      
       - Convert page_vma_mapped_walk to use PFNs instead of pages (Matthew
         Wilcox)
      
       - Convert rmap_walk to use folios (Matthew Wilcox)
      
       - Convert most of shrink_page_list() to use a folio (Matthew Wilcox)
      
       - Add support for creating large folios in readahead (Matthew Wilcox)
      
      * tag 'folio-5.18c' of git://git.infradead.org/users/willy/pagecache: (114 commits)
        mm/damon: minor cleanup for damon_pa_young
        selftests/vm/transhuge-stress: Support file-backed PMD folios
        mm/filemap: Support VM_HUGEPAGE for file mappings
        mm/readahead: Switch to page_cache_ra_order
        mm/readahead: Align file mappings for non-DAX
        mm/readahead: Add large folio readahead
        mm: Support arbitrary THP sizes
        mm: Make large folios depend on THP
        mm: Fix READ_ONLY_THP warning
        mm/filemap: Allow large folios to be added to the page cache
        mm: Turn can_split_huge_page() into can_split_folio()
        mm/vmscan: Convert pageout() to take a folio
        mm/vmscan: Turn page_check_references() into folio_check_references()
        mm/vmscan: Account large folios correctly
        mm/vmscan: Optimise shrink_page_list for non-PMD-sized folios
        mm/vmscan: Free non-shmem folios without splitting them
        mm/rmap: Constify the rmap_walk_control argument
        mm/rmap: Convert rmap_walk() to take a folio
        mm: Turn page_anon_vma() into folio_anon_vma()
        mm/rmap: Turn page_lock_anon_vma_read() into folio_lock_anon_vma_read()
        ...
      9030fb0b
  2. 22 Mar, 2022 38 commits