aboutsummaryrefslogtreecommitdiffstats
path: root/mm/swap_state.c
AgeCommit message (Expand)AuthorFilesLines
3 daysmm, swap: merge zeromap into swap tableKairui Song1-6/+8
3 daysmm/memcg, swap: store cgroup id in cluster table directlyKairui Song1-4/+2
3 daysmm, swap: delay and unify memcg lookup and charging for swapinKairui Song1-9/+19
3 daysmm/memcg, swap: tidy up cgroup v1 memsw swap helpersKairui Song1-2/+2
3 daysmm, swap: unify large folio allocationKairui Song1-119/+24
3 daysmm, swap: add support for stable large allocation in swap cache directlyKairui Song1-69/+167
3 daysmm, swap: move common swap cache operations into standalone helpersKairui Song1-46/+100
3 daysmm, swap: simplify swap cache allocation helperKairui Song1-87/+93
2026-04-05mm/swap: fix swap cache memcg accountingAlexandre Ghiti1-5/+4
2026-04-05folio_batch: rename PAGEVEC_SIZE to FOLIO_BATCH_SIZETal Zussman1-1/+1
2026-04-05folio_batch: rename pagevec.h to folio_batch.hTal Zussman1-1/+1
2026-04-05mm, swap: no need to clear the shadow explicitlyKairui Song1-21/+0
2026-04-05mm, swap: use the swap table to track the swap countKairui Song1-27/+26
2026-04-05mm, swap: implement helpers for reserving data in the swap tableKairui Song1-3/+3
2026-01-31mm, swap: drop the SWAP_HAS_CACHE flagKairui Song1-12/+16
2026-01-31mm, swap: check swap table directly for checking cacheKairui Song1-0/+16
2026-01-31mm, swap: add folio to swap cache directly on allocationKairui Song1-23/+35
2026-01-31mm, swap: remove workaround for unsynchronized swap map cache stateKairui Song1-17/+10
2026-01-31mm, swap: use swap cache as the swap in synchronize layerKairui Song1-47/+58
2026-01-31mm, swap: swap entry of a bad slot should not be considered as swapped outKairui Song1-1/+1
2026-01-31mm, swap: never bypass the swap cache even for SWP_SYNCHRONOUS_IOKairui Song1-0/+27
2026-01-31mm, swap: split swap cache preparation loop into a standalone helperKairui Song1-88/+109
2026-01-31mm, swap: rename __read_swap_cache_async to swap_cache_alloc_folioKairui Song1-13/+33
2026-01-31mm: update kernel-doc for __swap_cache_clear_shadow()Taeyang Kim1-1/+1
2026-01-31Merge branch 'mm-hotfixes-stable' into mm-stable to pick up "mm/shmem,Andrew Morton1-2/+1
2026-01-26mm, swap: restore swap_space attr aviod kernel panicrobin.kuo1-2/+1
2026-01-20mm: fix minor spelling mistakes in commentsKevin Lourenco1-1/+1
2025-11-24mm, swap: remove redundant comment for read_swap_cache_asyncYoungjun Park1-4/+0
2025-11-24mm: eliminate is_swap_pte() when softleaf_from_pte() sufficesLorenzo Stoakes1-6/+5
2025-11-15mm, swap: fix potential UAF issue for VMA readaheadKairui Song1-0/+13
2025-09-21mm, swap: implement dynamic allocation of swap tableKairui Song1-5/+4
2025-09-21mm, swap: mark swap address space ro and add context debug checkKairui Song1-1/+2
2025-09-21mm, swap: use the swap table for the swap cache and switch APIKairui Song1-160/+123
2025-09-21mm, swap: wrap swap cache replacement with a helperKairui Song1-0/+33
2025-09-21mm, swap: cleanup swap cache API and add kerneldocKairui Song1-24/+62
2025-09-21mm, swap: tidy up swap device and cluster info helpersKairui Song1-2/+2
2025-09-21mm, swap: always lock and check the swap cache folio before useKairui Song1-2/+5
2025-09-21mm, swap: use unified helper for swap cache look upKairui Song1-50/+55
2025-09-13mm/mincore, swap: consolidate swap cache checking for mincoreKairui Song1-38/+0
2025-05-31Merge tag 'mm-stable-2025-05-31-14-50' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-5/+3
2025-05-11mm: convert free_page_and_swap_cache() to free_folio_and_swap_cache()Fan Ni1-5/+3
2025-04-07mm: Remove swap_writepage() and shmem_writepage()Matthew Wilcox (Oracle)1-1/+0
2025-03-16mm, swap: simplify folio swap allocationKairui Song1-57/+0
2025-03-16mm, swap: remove swap slot cacheKairui Song1-7/+1
2025-03-16mm, swap: avoid redundant swap device pinningKairui Song1-6/+8
2025-03-16mm/swap: rename swap_swapcount() to swap_entry_swapped()Baoquan He1-1/+1
2025-03-16mm/swap_state.c: remove the meaningless code commentBaoquan He1-4/+0
2025-03-16mm/swap_state.c: optimize the code in clear_shadow_from_swap_cache()Baoquan He1-3/+1
2025-03-16mm/swap_state.c: fix the obsolete code commentBaoquan He1-1/+1
2025-03-16mm: memcontrol: move memsw charge callbacks to v1Johannes Weiner1-1/+1
2025-01-25mm: remove unnecessary calls to lru_add_drainRik van Riel1-1/+0
2024-11-06mm: swap: use str_true_false() helper functionThorsten Blum1-2/+1
2024-09-17mm: add nr argument in mem_cgroup_swapin_uncharge_swap() helper to support la...Barry Song1-1/+1
2024-09-01mm: return the folio from swapin_readaheadMatthew Wilcox (Oracle)1-5/+3
2024-09-01zswap: track swapins from disk more accuratelyNhat Pham1-6/+2
2024-09-01mm: swap: allocate folio only first time in __read_swap_cache_async()Zhaoyu Liu1-27/+31
2024-09-01mm: swap: add nr argument in swapcache_prepare and swapcache_clear to support...Barry Song1-1/+1
2024-07-12mm: swap_state: use folio_alloc_mpol() in __read_swap_cache_async()Kefeng Wang1-2/+1
2024-07-03mm: swap: remove 'synchronous' argument to swap_read_folio()Yosry Ahmed1-5/+5
2024-07-03mm,swap: simplify VMA based swap readahead window calculationHuang Ying1-41/+25
2024-07-03mm,swap: remove struct vma_swap_readaheadHuang Ying1-28/+20
2024-07-03mm,swap: fix a theoretical underflow in readahead window calculationHuang Ying1-0/+2
2024-07-03mm/swap: reduce swap cache search spaceKairui Song1-8/+9
2024-07-03mm/vmscan: update stale references to shrink_page_listIllia Ostapyshyn1-1/+1
2024-04-25mm: remove struct page from get_shadow_from_swap_cacheMatthew Wilcox (Oracle)1-4/+4
2024-04-25mm: add is_huge_zero_folio()Matthew Wilcox (Oracle)1-1/+1
2024-03-04mm: convert free_swap_cache() to take a folioMatthew Wilcox (Oracle)1-6/+6
2024-03-04mm: convert free_pages_and_swap_cache() to use folios_put()Matthew Wilcox (Oracle)1-8/+13
2024-02-22mm/mmu_gather: add __tlb_remove_folio_pages()David Hildenbrand1-2/+13
2024-02-20mm/swap_state: update zswap LRU's protection range with the folio lockedNhat Pham1-4/+6
2023-12-29mm: convert swap_cluster_readahead and swap_vma_readahead to return a folioMatthew Wilcox (Oracle)1-11/+13
2023-12-29mm: return a folio from read_swap_cache_async()Matthew Wilcox (Oracle)1-4/+4
2023-12-29mm: convert swap_readpage() to swap_read_folio()Matthew Wilcox (Oracle)1-6/+6
2023-12-29mm: return the folio from __read_swap_cache_async()Matthew Wilcox (Oracle)1-40/+35
2023-12-12zswap: shrink zswap pool based on memory pressureNhat Pham1-0/+2
2023-12-12zswap: make shrinking memcg-awareDomenico Cerasuolo1-6/+18
2023-10-25mempolicy: alloc_pages_mpol() for NUMA policy without vmaHugh Dickins1-32/+54
2023-10-25mm/swap: avoid a xa load for swapout pathKairui Song1-3/+3
2023-08-24mm/swap: inline folio_set_swap_entry() and folio_swap_entry()David Hildenbrand1-4/+3
2023-08-24mm/swap: stop using page->private on tail pages for THP_SWAPDavid Hildenbrand1-2/+3
2023-08-24swap: remove remnants of polling from read_swap_cache_asyncSuren Baghdasaryan1-7/+5
2023-08-21mm/swap_state.c: use helper macro K()ZhangPeng1-3/+2
2023-06-23mm: remove unnecessary pagevec includesMatthew Wilcox (Oracle)1-1/+0
2023-06-19mm: ptep_get() conversionRyan Roberts1-4/+4
2023-06-19mm/swap: swap_vma_readahead() do the pte_offset_map()Hugh Dickins1-21/+24
2023-06-09swap: remove __swp_swapcount()Huang Ying1-1/+1
2023-06-09swap, __read_swap_cache_async(): enlarge get/put_swap_device protection rangeHuang Ying1-10/+21
2023-04-05mm: return an ERR_PTR from __filemap_get_folioChristoph Hellwig1-7/+10
2023-04-05mm: use filemap_get_entry in filemap_get_incore_folioChristoph Hellwig1-1/+1
2023-02-02swap_state: update shadow_nodes for anonymous pageYang Yang1-0/+6
2023-01-18swap: avoid holding swap reference in swap_cache_get_folioKairui Song1-6/+2
2023-01-18swap: fold swap_ra_clamp_pfn into swap_ra_infoKairui Song1-25/+19
2023-01-18swap: avoid a redundant pte map if ra window is 1Kairui Song1-5/+2
2022-11-30mm: mmu_gather: prepare to gather encoded page pointers with flagsLinus Torvalds1-7/+4
2022-11-08mm: convert find_get_incore_page() to filemap_get_incore_folio()Matthew Wilcox (Oracle)1-8/+7
2022-11-08mm/swap: convert find_get_incore_page to use foliosMatthew Wilcox (Oracle)1-9/+10
2022-10-03swap_state: convert free_swap_cache() to use a folioMatthew Wilcox (Oracle)1-5/+8
2022-10-03mm: remove lookup_swap_cache()Matthew Wilcox (Oracle)1-11/+1
2022-10-03swap: add swap_cache_get_folio()Matthew Wilcox (Oracle)1-11/+21
2022-10-03memcg: convert mem_cgroup_swapin_charge_page() to mem_cgroup_swapin_charge_fo...Matthew Wilcox (Oracle)1-1/+1
2022-10-03mm/swap: convert put_swap_page() to put_swap_folio()Matthew Wilcox (Oracle)1-3/+3
2022-10-03mm/swap: convert add_to_swap_cache() to take a folioMatthew Wilcox (Oracle)1-17/+17
2022-10-03mm/swap: convert __read_swap_cache_async() to use a folioMatthew Wilcox (Oracle)1-19/+19
2022-09-11mm: fix VM_BUG_ON in __delete_from_swap_cache()Matthew Wilcox (Oracle)1-1/+1
2022-08-05Merge tag 'mm-stable-2022-08-03' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-36/+20
2022-08-02mm/migrate: Convert migrate_page() to migrate_folio()Matthew Wilcox (Oracle)1-1/+1
2022-07-03mm/swap: convert __delete_from_swap_cache() to a folioMatthew Wilcox (Oracle)1-12/+13
2022-07-03mm/swap: convert delete_from_swap_cache() to take a folioMatthew Wilcox (Oracle)1-8/+8
2022-07-03mm/swap: remove swap_cache_info statisticsMiaohe Lin1-17/+0
2022-06-29filemap: Remove add_to_page_cache() and add_to_page_cache_locked()Matthew Wilcox (Oracle)1-1/+1
2022-05-27mm: filter out swapin error entry in shmem mappingMiaohe Lin1-0/+3
2022-05-19mm/swap: use helper macro __ATTR_RWMiaohe Lin1-3/+1
2022-05-19mm/swap: use helper is_swap_pte() in swap_vma_readaheadMiaohe Lin1-3/+1
2022-05-13swap: convert add_to_swap() to take a folioMatthew Wilcox (Oracle)1-22/+25
2022-05-13swap: turn get_swap_page() into folio_alloc_swap()Matthew Wilcox (Oracle)1-1/+2
2022-05-13mm: convert sysfs input to bool using kstrtobool()Jagdish Gediya1-6/+5
2022-05-09mm: submit multipage reads for SWP_FS_OPS swap-spaceNeilBrown1-6/+14
2022-05-09mm: drop swap_dirty_folioNeilBrown1-1/+1
2022-05-09mm: create new mm/swap.h header fileNeilBrown1-0/+1
2022-03-22Merge tag 'folio-5.18b' of git://git.infradead.org/users/willy/pagecacheLinus Torvalds1-1/+1
2022-03-17mm: swap: get rid of livelock in swapin readaheadGuo Ziliang1-1/+1
2022-03-15mm: Convert swap_set_page_dirty() to swap_dirty_folio()Matthew Wilcox (Oracle)1-1/+1
2021-10-18mm/workingset: Convert workingset_refault() to take a folioMatthew Wilcox (Oracle)1-1/+1
2021-08-20Revert "mm: swap: check if swap backing device is congested or not"Yang Shi1-7/+0
2021-06-29swap: check mapping_empty() for swap cache before being freedHuang Ying1-1/+6
2021-06-29mm: free idle swap cache page after COWHuang Ying1-1/+1
2021-06-29mm/swap: remove unused local variable nr_shadowsMiaohe Lin1-5/+0
2021-06-29mm/swap: remove confusing checking for non_swap_entry() in swap_ra_info()Miaohe Lin1-6/+0
2021-05-07mm: fix some typos and code style problemsShijie Luo1-1/+1
2021-05-05mm: stop accounting shadow entriesMatthew Wilcox (Oracle)1-4/+0
2021-04-30memcg: charge before adding to swapcache on swapinShakeel Butt1-7/+6
2021-02-26mm: add FGP_ENTRYMatthew Wilcox (Oracle)1-1/+2
2021-02-26mm/swap: optimise get_shadow_from_swap_cacheMatthew Wilcox (Oracle)1-3/+1
2021-02-24mm: memcg: add swapcache stat for memcg v2Shakeel Butt1-26/+2
2021-02-24mm/swap: don't SetPageWorkingset unconditionally during swapinYu Zhao1-1/+0
2021-02-24mm/swap_state: constify static struct attribute_groupRikard Falkeborn1-1/+1
2020-12-15mm: use sysfs_emit for struct kobject * usesJoe Perches1-1/+2
2020-12-15mm/swap_state: skip meaningless swap cache readahead when ra_info.win == 0Miaohe Lin1-1/+3
2020-10-16mm: fix some broken commentsMiaohe Lin1-1/+1
2020-10-13swap: rename SWP_FS to SWAP_FS_OPS to avoid ambiguityGao Xiang1-1/+1
2020-10-13mm: convert find_get_entry to return the head pageMatthew Wilcox (Oracle)1-1/+3
2020-10-13mm: factor find_get_incore_page out of mincore_pageMatthew Wilcox (Oracle)1-0/+32
2020-08-14mm/swap_state: mark various intentional data racesQian Cai1-2/+2
2020-08-14mm: replace hpage_nr_pages with thp_nr_pagesMatthew Wilcox (Oracle)1-3/+3
2020-08-12mm/swap: implement workingset detection for anonymous LRUJoonsoo Kim1-5/+18
2020-08-12mm/swapcache: support to handle the shadow entriesJoonsoo Kim1-6/+51
2020-08-07mm: swap: fix kerneldoc of swap_vma_readahead()Krzysztof Kozlowski1-1/+1
2020-06-26mm: fix swap cache node allocation maskHugh Dickins1-2/+2
2020-06-09mmap locking API: convert mmap_sem commentsMichel Lespinasse1-2/+2
2020-06-09mm: don't include asm/pgtable.h if linux/mm.h is already includedMike Rapoport1-1/+0
2020-06-03mm: vmscan: reclaim writepage is IO costJohannes Weiner1-1/+1
2020-06-03mm: balance LRU lists based on relative thrashingJohannes Weiner1-0/+5
2020-06-03mm: fold and remove lru_cache_add_anon() and lru_cache_add_file()Johannes Weiner1-1/+1
2020-06-03mm: memcontrol: delete unused lrucare handlingJohannes Weiner1-1/+1
2020-06-03mm: memcontrol: charge swapin pages on instantiationJohannes Weiner1-43/+56
2020-06-02mm/swap_state: fix a data race in swapin_nr_pagesQian Cai1-2/+3
2020-04-02mm/swap_state.c: use the same way to count page in [add_to|delete_from]_swap_...Wei Yang1-1/+1
2019-09-24mm: page cache: store only head pages in i_pagesMatthew Wilcox (Oracle)1-2/+2
2019-09-24mm: introduce compound_nr()Matthew Wilcox (Oracle)1-1/+1
2019-07-12mm/swap_state.c: simplify total_swapcache_pages() with get_swap_device()Huang Ying1-18/+15
2019-07-12mm, swap: fix race between swapoff and some swap operationsHuang Ying1-3/+13
2019-07-05Revert "mm: page cache: store only head pages in i_pages"Linus Torvalds1-2/+2
2019-05-14mm: page cache: store only head pages in i_pagesMatthew Wilcox1-2/+2
2019-03-05mm: swap: add comment for swap_vma_readaheadYang Shi1-1/+15
2019-03-05mm: swap: check if swap backing device is congested or notYang Shi1-0/+7
2018-10-28Merge branch 'xarray' of git://git.infradead.org/users/willy/linux-daxLinus Torvalds1-79/+40
2018-10-26mm: workingset: tell cache transitions from workingset thrashingJohannes Weiner1-0/+1
2018-10-21page cache: Finish XArray conversionMatthew Wilcox1-1/+1
2018-10-21mm: Convert delete_from_swap_cache to XArrayMatthew Wilcox1-14/+10
2018-10-21mm: Convert add_to_swap_cache to XArrayMatthew Wilcox1-64/+29
2018-06-12treewide: kvzalloc() -> kvcalloc()Kees Cook1-1/+1
2018-06-07mm, memcontrol: move swap charge handling into get_swap_page()Tejun Heo1-3/+0
2018-04-11page cache: use xa_lockMatthew Wilcox1-9/+8
2018-04-05mm/swap_state.c: make bool enable_vma_readahead and swap_vma_readahead() staticColin Ian King1-3/+3
2018-04-05mm: swap: unify cluster-based and vma-based swap readaheadMinchan Kim1-11/+37
2018-04-05mm: swap: clean up swap readaheadMinchan Kim1-43/+53
2017-11-15mm: remove cold parameter for release_pagesMel Gorman1-1/+1
2017-11-15mm/swap_state.c: declare a few variables as __read_mostlyChangbin Du1-3/+3
2017-11-15mm, swap: fix false error message in __swp_swapcount()Huang Ying1-0/+3
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-10-13mm, swap: use page-cluster as max window of VMA based swap readaheadHuang Ying1-34/+7
2017-10-03mm: fix data corruption caused by lazyfree pageShaohua Li1-0/+11
2017-09-06mm, swap: add sysfs interface for VMA based swap readaheadHuang Ying1-0/+80
2017-09-06mm, swap: VMA based swap readaheadHuang Ying1-17/+198
2017-09-06mm, swap: fix swap readahead markingHuang Ying1-7/+11
2017-09-06mm, swap: add swap readahead hit statisticsHuang Ying1-2/+7
2017-07-10swap: add block io poll in swapin pathShaohua Li1-4/+6
2017-07-06mm, THP, swap: move anonymous THP split logic to vmscanMinchan Kim1-17/+6
2017-07-06mm, THP, swap: unify swap slot free functions to put_swap_pageMinchan Kim1-10/+3
2017-07-06mm, THP, swap: delay splitting THP during swap outHuang Ying1-44/+70
2017-05-08mm, swap: use kvzalloc to allocate some swap data structuresHuang Ying1-1/+1
2017-05-03mm, swap: fix comment in __read_swap_cache_asyncHuang Ying1-11/+1
2017-02-22mm/swap: skip readahead only when swap slot cache is enabledHuang Ying1-3/+10
2017-02-22mm/swap: add cache for swap slots allocationTim Chen1-0/+1
2017-02-22mm/swap: skip readahead for unreferenced swap slotsTim Chen1-0/+4
2017-02-22mm/swap: split swap cache into 64MB trunksHuang, Ying1-12/+56
2016-10-07mm, swap: use offset of swap entry as key of swap cacheHuang Ying1-4/+4
2016-10-07thp: reduce usage of huge zero page's atomic counterAaron Lu1-3/+1
2016-10-07mm: don't use radix tree writeback tags for pages in swap cacheHuang Ying1-0/+2
2016-07-28mm: move most file-based accounting to the nodeMel Gorman1-2/+2