aboutsummaryrefslogtreecommitdiffstats
path: root/mm/rmap.c
AgeCommit message (Expand)AuthorFilesLines
2025-03-17mm: stop maintaining the per-page mapcount of large folios (CONFIG_NO_PAGE_MA...David Hildenbrand1-8/+72
2025-03-17mm: convert folio_likely_mapped_shared() to folio_maybe_mapped_shared()David Hildenbrand1-1/+1
2025-03-17mm/rmap: use folio_large_nr_pages() in add/remove functionsDavid Hildenbrand1-6/+8
2025-03-17mm/rmap: abstract large mapcount operations for large folios (!hugetlb)David Hildenbrand1-8/+6
2025-03-17mm/rmap: pass vma to __folio_add_rmap()David Hildenbrand1-4/+4
2025-03-17mm/rmap: add support for PUD sized mappings to rmapAlistair Popple1-4/+63
2025-03-16mm: avoid splitting pmd for lazyfree pmd-mapped THP in try_to_unmapBarry Song1-3/+10
2025-03-16mm: support batched unmap for lazyfree large folios during reclamationBarry Song1-22/+50
2025-03-16mm: support tlbbatch flush for a range of PTEsBarry Song1-5/+5
2025-03-16mm: set folio swapbacked iff folios are dirty in try_to_unmap_oneBarry Song1-27/+22
2025-03-16mm: provide mapping_wrprotect_range() functionLorenzo Stoakes1-0/+74
2025-03-16mm: refactor rmap_walk_file() to separate out traversal logicLorenzo Stoakes1-26/+53
2025-03-16mm/rmap: avoid -EBUSY from make_device_exclusive()David Hildenbrand1-3/+6
2025-03-16mm/rmap: keep mapcount untouched for device-exclusive entriesDavid Hildenbrand1-7/+0
2025-03-16mm/rmap: handle device-exclusive entries correctly in page_vma_mkclean_one()David Hildenbrand1-0/+8
2025-03-16mm/rmap: handle device-exclusive entries correctly in try_to_migrate_one()David Hildenbrand1-73/+51
2025-03-16mm/rmap: handle device-exclusive entries correctly in try_to_unmap_one()David Hildenbrand1-13/+39
2025-03-16mm: use single SWP_DEVICE_EXCLUSIVE entry typeDavid Hildenbrand1-1/+1
2025-03-16mm/rmap: implement make_device_exclusive() using folio_walk instead of rmap walkDavid Hildenbrand1-133/+67
2025-03-16mm/rmap: convert make_device_exclusive_range() to make_device_exclusive()David Hildenbrand1-42/+61
2025-03-16mm/rmap: reject hugetlb folios in folio_make_device_exclusive()David Hildenbrand1-1/+1
2024-11-07mm: mass constification of folio/page pointersMatthew Wilcox (Oracle)1-5/+6
2024-11-07mm: renovate page_address_in_vma()Matthew Wilcox (Oracle)1-7/+20
2024-11-07mm: use page_pgoff() in more placesMatthew Wilcox (Oracle)1-3/+1
2024-11-07mm: convert page_to_pgoff() to page_pgoff()Matthew Wilcox (Oracle)1-1/+1
2024-11-06memcg-v1: remove memcg move locking codeShakeel Butt1-1/+0
2024-11-03mm: multi-gen LRU: use {ptep,pmdp}_clear_young_notify()Yu Zhao1-6/+3
2024-09-09mm: introduce a pageflag for partially mapped foliosUsama Arif1-2/+3
2024-09-09mm: count the number of anonymous THPs per sizeBarry Song1-0/+1
2024-09-03mm/rmap: use folio->_mapcount for small foliosDavid Hildenbrand1-2/+2
2024-09-01mm/rmap: minimize folio->_nr_pages_mapped updates when batching PTE (un)mappingDavid Hildenbrand1-14/+13
2024-09-01mm/rmap: cleanup partially-mapped handling in __folio_remove_rmap()David Hildenbrand1-13/+10
2024-09-01mm: shrink skip folio mapped by an exiting processZhiguo Jiang1-0/+15
2024-07-24Merge tag 'random-6.11-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/k...Linus Torvalds1-3/+18
2024-07-19mm: add MAP_DROPPABLE for designating always lazily freeable mappingsJason A. Donenfeld1-3/+19
2024-07-03mm: remove folio_test_anon(folio)==false path in __folio_add_anon_rmap()Barry Song1-14/+3
2024-07-03mm: use folio_add_new_anon_rmap() if folio_test_anon(folio)==falseBarry Song1-1/+3
2024-07-03mm: extend rmap flags arguments for folio_add_new_anon_rmapBarry Song1-9/+16
2024-07-03mm/vmscan: avoid split lazyfree THP during shrink_folio_list()Lance Yang1-10/+16
2024-07-03mm/rmap: integrate PMD-mapped folio splitting into pagewalk loopLance Yang1-6/+15
2024-07-03mm/rmap: remove duplicated exit code in pagewalk loopLance Yang1-25/+15
2024-07-03mm: rmap: abstract updating per-node and per-memcg statsYosry Ahmed1-27/+29
2024-05-11mm: do not update memcg stats for NR_{FILE/SHMEM}_PMDMAPPEDYosry Ahmed1-6/+9
2024-05-05mm/rmap: change the type of we_locked from int to boolHao Ge1-1/+1
2024-05-05mm/rmap: do not add fully unmapped large folio to deferred split listZi Yan1-3/+10
2024-05-05mm: assert the mmap_lock is held in __anon_vma_prepare()Matthew Wilcox (Oracle)1-2/+1
2024-05-05mm: track mapcount of large folios in single valueDavid Hildenbrand1-23/+11
2024-05-05mm/rmap: add fast-path for small folios when adding/removing/duplicatingDavid Hildenbrand1-10/+16
2024-04-25mm: rename vma_pgoff_address back to vma_addressMatthew Wilcox (Oracle)1-6/+6
2024-04-25mm: remove vma_address()Matthew Wilcox (Oracle)1-3/+9
2024-04-25remove references to page->flags in documentationMatthew Wilcox (Oracle)1-2/+2
2024-04-25mm: make page_mapped() take a const argumentMatthew Wilcox (Oracle)1-1/+1
2024-02-22rmap: replace two calls to compound_order with folio_orderMatthew Wilcox (Oracle)1-2/+2
2024-02-21mm: convert mm_counter_file() to take a folioKefeng Wang1-1/+1
2024-02-21mm: convert mm_counter() to take a folioKefeng Wang1-4/+4
2023-12-29mm/rmap: rename COMPOUND_MAPPED to ENTIRELY_MAPPEDDavid Hildenbrand1-9/+9
2023-12-29mm: convert page_try_share_anon_rmap() to folio_try_share_anon_rmap_[pte|pmd]()David Hildenbrand1-5/+6
2023-12-29mm/rmap: remove page_remove_rmap()David Hildenbrand1-21/+2
2023-12-29mm/rmap: page_remove_rmap() -> folio_remove_rmap_pte()David Hildenbrand1-5/+5
2023-12-29mm/rmap: introduce folio_remove_rmap_[pte|ptes|pmd]()David Hildenbrand1-16/+66
2023-12-29mm/rmap: remove RMAP_COMPOUNDDavid Hildenbrand1-2/+0
2023-12-29mm/rmap: remove page_add_anon_rmap()David Hildenbrand1-27/+4
2023-12-29mm/rmap: introduce folio_add_anon_rmap_[pte|ptes|pmd]()David Hildenbrand1-38/+82
2023-12-29mm/rmap: factor out adding folio mappings into __folio_add_rmap()David Hildenbrand1-34/+44
2023-12-29mm/rmap: remove page_add_file_rmap()David Hildenbrand1-21/+0
2023-12-29mm/rmap: convert folio_add_file_rmap_range() into folio_add_file_rmap_[pte|pt...David Hildenbrand1-29/+50
2023-12-29mm/rmap: add hugetlb sanity checks for anon rmap handlingDavid Hildenbrand1-0/+6
2023-12-29mm/rmap: introduce and use hugetlb_try_share_anon_rmap()David Hildenbrand1-5/+10
2023-12-29mm/rmap: introduce and use hugetlb_add_file_rmap()David Hildenbrand1-0/+1
2023-12-29mm/rmap: introduce and use hugetlb_remove_rmap()David Hildenbrand1-9/+9
2023-12-29mm/rmap: rename hugepage_add* to hugetlb_add*David Hildenbrand1-4/+4
2023-12-29mm: remove references to page_add_new_anon_rmap in commentsMatthew Wilcox (Oracle)1-2/+2
2023-12-29userfaultfd: UFFDIO_MOVE uABIAndrea Arcangeli1-0/+6
2023-12-29mm/rmap: support move to different root anon_vma in folio_move_anon_rmap()Andrea Arcangeli1-0/+24
2023-12-20mm: non-pmd-mappable, large folios for folio_add_new_anon_rmap()Ryan Roberts1-8/+20
2023-12-20mm: allow deferred splitting of arbitrary anon large foliosRyan Roberts1-2/+2
2023-10-18mm/rmap: convert page_move_anon_rmap() to folio_move_anon_rmap()David Hildenbrand1-9/+7
2023-10-18mm/rmap: move SetPageAnonExclusive() out of page_move_anon_rmap()David Hildenbrand1-1/+0
2023-10-04mm: handle large folio when large folio in VM_LOCKED VMA rangeYin Fengwei1-11/+55
2023-10-04mm/rmap: pass folio to hugepage_add_anon_rmap()David Hildenbrand1-5/+3
2023-10-04mm/rmap: simplify PageAnonExclusive sanity checks when adding anon rmapDavid Hildenbrand1-8/+8
2023-10-04mm/rmap: warn on new PTE-mapped folios in page_add_anon_rmap()David Hildenbrand1-0/+7
2023-10-04mm/rmap: move folio_test_anon() check out of __folio_set_anon()David Hildenbrand1-15/+8
2023-10-04mm/rmap: move SetPageAnonExclusive out of __page_set_anon_rmap()David Hildenbrand1-20/+21
2023-10-04mm/rmap: drop stale comment in page_add_anon_rmap and hugepage_add_anon_rmap()David Hildenbrand1-2/+0
2023-09-29mm: hugetlb: add huge page size param to set_huge_pte_at()Ryan Roberts1-5/+18
2023-08-24mm/swap: stop using page->private on tail pages for THP_SWAPDavid Hildenbrand1-1/+1
2023-08-24rmap: add folio_add_file_rmap_range()Yin Fengwei1-14/+46
2023-08-18mmu_notifiers: don't invalidate secondary TLBs as part of mmu_notifier_invali...Alistair Popple1-40/+0
2023-08-18mm/rmap: correct stale comment of rmap_walk_anon and rmap_walk_fileKemeng Shi1-5/+7
2023-08-18mm/tlbbatch: introduce arch_flush_tlb_batched_pending()Yicong Yang1-1/+1
2023-08-18mm/tlbbatch: rename and extend some functionsBarry Song1-5/+7
2023-08-18mm/tlbbatch: introduce arch_tlbbatch_should_defer()Anshuman Khandual1-8/+1
2023-08-18rmap: pass the folio to __page_check_anon_rmap()Matthew Wilcox (Oracle)1-4/+4
2023-06-19mm: ptep_get() conversionRyan Roberts1-14/+20
2023-06-09mm/gup: remove vmas parameter from get_user_pages_remote()Lorenzo Stoakes1-1/+1
2023-04-27mm,unmap: avoid flushing TLB in batch if PTE is inaccessibleHuang Ying1-4/+8
2023-04-05mm/khugepaged: write-lock VMA while collapsing a huge pageSuren Baghdasaryan1-15/+16
2023-03-28mm/rmap: use atomic_try_cmpxchg in set_tlb_ubc_flush_pendingUros Bizjak1-5/+2
2023-02-27mm/hwpoison: convert TTU_IGNORE_HWPOISON to TTU_HWPOISONNaoya Horiguchi1-1/+1
2023-02-16migrate_pages: batch flushing TLBHuang Ying1-3/+17
2023-02-13mm/hugetlb: convert hugetlb fault paths to use alloc_hugetlb_folio()Sidhartha Kumar1-4/+2
2023-02-09mm/mmap: remove __vma_adjust()Liam R. Howlett1-7/+8
2023-02-02rmap: add folio parameter to __page_set_anon_rmap()Matthew Wilcox (Oracle)1-10/+11
2023-02-02mm: remove munlock_vma_page()Matthew Wilcox (Oracle)1-6/+6
2023-02-02mm: remove mlock_vma_page()Matthew Wilcox (Oracle)1-2/+2
2023-02-02mm: remove __HAVE_ARCH_PTE_SWP_EXCLUSIVEDavid Hildenbrand1-11/+0
2023-02-02mm: mlock: update the interface to use foliosLorenzo Stoakes1-2/+2
2023-02-02mm: convert deferred_split_huge_page() to deferred_split_folio()Matthew Wilcox (Oracle)1-1/+1
2023-02-02mm: use a folio in hugepage_add_anon_rmap() and hugepage_add_new_anon_rmap()Matthew Wilcox (Oracle)1-4/+7
2023-02-02mm: add folio_add_new_anon_rmap()Matthew Wilcox (Oracle)1-19/+18
2023-02-02mm: convert page_add_file_rmap() to use a folio internallyMatthew Wilcox (Oracle)1-11/+10
2023-02-02mm: convert page_add_anon_rmap() to use a folio internallyMatthew Wilcox (Oracle)1-12/+11
2023-02-02mm: convert page_remove_rmap() to use a folio internallyMatthew Wilcox (Oracle)1-21/+26
2023-02-02mm: convert total_compound_mapcount() to folio_total_mapcount()Matthew Wilcox (Oracle)1-11/+10
2023-02-02mm: convert head_subpages_mapcount() into folio_nr_pages_mapped()Matthew Wilcox (Oracle)1-4/+5
2023-02-02mm/mmu_notifier: remove unused mmu_notifier_range_update_to_read_only exportAlistair Popple1-6/+5
2023-01-18mm: add vma_has_recency()Yu Zhao1-24/+18
2023-01-18mm: rmap: remove lock_page_memcg()Johannes Weiner1-18/+8
2022-12-11mm,thp,rmap: fix races between updates of subpages_mapcountHugh Dickins1-9/+33
2022-11-30mm,thp,rmap: subpages_mapcount COMPOUND_MAPPED if PMD-mappedHugh Dickins1-96/+25
2022-11-30mm,thp,rmap: subpages_mapcount of PTE-mapped subpagesHugh Dickins1-92/+68
2022-11-30mm,thp,rmap: handle the normal !PageCompound case firstHugh Dickins1-27/+27
2022-11-30mm,thp,rmap: lock_compound_mapcounts() on THP mapcountsHugh Dickins1-145/+188
2022-11-30mm,thp,rmap: simplify compound page mapcount handlingHugh Dickins1-61/+81
2022-11-08mm/hugetlb: unify clearing of RestoreReserve for private pagesPeter Xu1-1/+1
2022-11-08mm: rmap: rename page_not_mapped() to folio_not_mapped()Kefeng Wang1-4/+4
2022-11-08mm/rmap: fix comment in anon_vma_clone()Ma Wupeng1-2/+2
2022-10-10Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-78/+106
2022-10-03hugetlb: use new vma_lock for pmd sharing synchronizationMike Kravetz1-35/+65
2022-10-03hugetlb: add vma based lock for pmd sharingMike Kravetz1-1/+7
2022-10-03hugetlbfs: revert use i_mmap_rwsem for more pmd sharing synchronizationMike Kravetz1-7/+1
2022-10-03rmap: remove page_unlock_anon_vma_read()Matthew Wilcox (Oracle)1-5/+0
2022-10-03mm: convert page_get_anon_vma() to folio_get_anon_vma()Matthew Wilcox (Oracle)1-7/+7
2022-10-03rmap: convert page_move_anon_rmap() to use a folioMatthew Wilcox (Oracle)1-8/+6
2022-09-26mm: multi-gen LRU: exploit locality in rmapYu Zhao1-0/+6
2022-09-26mm: remember young/dirty bit for page migrationsPeter Xu1-1/+4
2022-09-11mm: fix PageAnonExclusive clearing racing with concurrent RCU GUP-fastDavid Hildenbrand1-5/+6
2022-09-11mm/khugepaged: record SCAN_PMD_MAPPED when scan_pmd() finds hugepageZach O'Keefe1-10/+5
2022-08-31mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuseJann Horn1-13/+16
2022-08-05Merge tag 'mm-stable-2022-08-03' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-60/+54
2022-07-17hugetlb: do not update address in huge_pmd_unshareMike Kravetz1-2/+2
2022-07-17mm: add zone device coherent type memory supportAlex Sierra1-2/+3
2022-07-03mm: hugetlb: kill set_huge_swap_pte_at()Qi Zheng1-8/+3
2022-07-03mm: rmap: simplify the hugetlb handling when unmapping or migrationBaolin Wang1-46/+44
2022-07-03mm/rmap: fix dereferencing invalid subpage pointer in try_to_migrate_one()David Hildenbrand1-10/+17
2022-06-27docs: rename Documentation/vm to Documentation/mmMike Rapoport1-4/+4
2022-05-19mm: don't be stuck to rmap lock on reclaim pathMinchan Kim1-11/+41
2022-05-13mm: rmap: fix CONT-PTE/PMD size hugetlb issue when unmappingBaolin Wang1-17/+22
2022-05-13mm: rmap: fix CONT-PTE/PMD size hugetlb issue when migrationBaolin Wang1-6/+18
2022-05-13mm/shmem: persist uffd-wp bit across zapping for file-backedPeter Xu1-0/+8
2022-05-13mm/rmap: Fix typos in commentsAdrian Huang1-2/+2
2022-05-13mm: rmap: use flush_cache_range() to flush cache for hugetlb pagesBaolin Wang1-42/+48
2022-05-13mm: rmap: move the cache flushing to the correct place for hugetlb PMD sharingBaolin Wang1-18/+22
2022-05-09mm/swap: remember PG_anon_exclusive via a swp pte bitDavid Hildenbrand1-8/+11
2022-05-09mm/rmap: fail try_to_migrate() early when setting a PMD migration entry failsDavid Hildenbrand1-1/+5
2022-05-09mm: remember exclusively mapped anonymous pages with PG_anon_exclusiveDavid Hildenbrand1-5/+56
2022-05-09mm/rmap: drop "compound" parameter from page_add_new_anon_rmap()David Hildenbrand1-5/+6
2022-05-09mm/rmap: pass rmap flags to hugepage_add_anon_rmap()David Hildenbrand1-3/+6
2022-05-09mm/rmap: remove do_page_add_anon_rmap()David Hildenbrand1-13/+1
2022-05-09mm/rmap: convert RMAP flags to a proper distinct rmap_t typeDavid Hildenbrand1-3/+4
2022-05-09mm/rmap: fix missing swap_free() in try_to_unmap() after arch_unmap_one() failedDavid Hildenbrand1-0/+1
2022-04-28mm: rmap: introduce pfn_mkclean_range() to cleans PTEsMuchun Song1-11/+54
2022-04-28mm: rmap: fix cache flush on THP pagesMuchun Song1-1/+2
2022-04-01mm/munlock: protect the per-CPU pagevec by a local_lock_tSebastian Andrzej Siewior1-2/+2
2022-03-24mm: fix race between MADV_FREE reclaim and blkdev direct IO readMauricio Faria de Oliveira1-1/+24
2022-03-24mm/migration: add trace events for base page and HugeTLB migrationsAnshuman Khandual1-0/+6
2022-03-24mm/thp: fix NR_FILE_MAPPED accounting in page_*_file_rmap()Hugh Dickins1-17/+14
2022-03-22Merge tag 'folio-5.18b' of git://git.infradead.org/users/willy/pagecacheLinus Torvalds1-2/+2
2022-03-22Merge tag 'folio-5.18c' of git://git.infradead.org/users/willy/pagecacheLinus Torvalds1-339/+239
2022-03-22mm/thp: ClearPageDoubleMap in first page_add_file_rmap()Hugh Dickins1-0/+11
2022-03-22mm/hwpoison: check the subpage, not the head pageMatthew Wilcox (Oracle)1-2/+2
2022-03-21mm/rmap: Constify the rmap_walk_control argumentMatthew Wilcox (Oracle)1-7/+7
2022-03-21mm/rmap: Convert rmap_walk() to take a folioMatthew Wilcox (Oracle)1-59/+52
2022-03-21mm: Turn page_anon_vma() into folio_anon_vma()Matthew Wilcox (Oracle)1-7/+12
2022-03-21mm/rmap: Turn page_lock_anon_vma_read() into folio_lock_anon_vma_read()Matthew Wilcox (Oracle)1-6/+6
2022-03-21mm/rmap: Convert make_device_exclusive_range() to use foliosMatthew Wilcox (Oracle)1-27/+31
2022-03-21mm/rmap: Convert try_to_migrate() to foliosMatthew Wilcox (Oracle)1-28/+31
2022-03-21mm/rmap: Convert try_to_unmap() to take a folioMatthew Wilcox (Oracle)1-40/+43
2022-03-21mm/huge_memory: Convert __split_huge_pmd() to take a folioMatthew Wilcox (Oracle)1-2/+4
2022-03-21mm/rmap: Turn page_referenced() into folio_referenced()Matthew Wilcox (Oracle)1-35/+35
2022-03-21mm/rmap: Use a folio in page_mkclean_one()Matthew Wilcox (Oracle)1-4/+5
2022-03-21mm: Convert page_vma_mapped_walk to work on PFNsMatthew Wilcox (Oracle)1-5/+3
2022-03-21mm: Add DEFINE_PAGE_VMA_WALK and DEFINE_FOLIO_VMA_WALKMatthew Wilcox (Oracle)1-26/+5
2022-03-21mm: Make compound_pincount always availableMatthew Wilcox (Oracle)1-4/+2
2022-03-16fs: Convert __set_page_dirty_buffers to block_dirty_folioMatthew Wilcox (Oracle)1-2/+2
2022-02-17mm/thp: shrink_page_list() avoid splitting VM_LOCKED THPHugh Dickins1-2/+5
2022-02-17mm/munlock: page migration needs mlock pagevec drainedHugh Dickins1-0/+4
2022-02-17mm/munlock: replace clear_page_mlock() by final clearanceHugh Dickins1-9/+0
2022-02-17mm/munlock: rmap call mlock_vma_page() munlock_vma_page()Hugh Dickins1-30/+26
2022-02-17mm/munlock: delete page_mlock() and all its worksHugh Dickins1-80/+0
2022-01-15mm/rmap: fix potential batched TLB flush raceHuang Ying1-7/+36
2021-11-06Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-2/+6
2021-11-06mm/rmap.c: avoid double faults migrating device private pagesAlistair Popple1-2/+6
2021-10-18mm/rmap: Add folio_mkclean()Matthew Wilcox (Oracle)1-6/+6
2021-09-27mm/memcg: Add folio_lruvec_lock() and similar functionsMatthew Wilcox (Oracle)1-1/+1
2021-09-08Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-2/+4
2021-09-08mm: remove redundant compound_head() callingMuchun Song1-2/+4
2021-08-30Merge tag 'hole_punch_for_v5.15-rc1' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-20/+21
2021-07-13mm: Protect operations adding pages to page cache with invalidate_lockJan Kara1-18/+19