aboutsummaryrefslogtreecommitdiffstats
path: root/mm/swapfile.c
AgeCommit message (Expand)AuthorFilesLines
3 daysmm, swap: merge zeromap into swap tableKairui Song1-32/+25
3 daysmm/memcg: remove no longer used swap cgroup arrayKairui Song1-8/+0
3 daysmm/memcg, swap: store cgroup id in cluster table directlyKairui Song1-12/+25
3 daysmm, swap: consolidate cluster allocation helpersKairui Song1-61/+49
3 daysmm, swap: support flexible batch freeing of slots in different memcgsKairui Song1-4/+29
3 daysmm/memcg, swap: tidy up cgroup v1 memsw swap helpersKairui Song1-1/+1
3 daysmm, swap: unify large folio allocationKairui Song1-2/+1
3 daysmm, swap: avoid leaving unused extend table after alloc raceKairui Song1-8/+34
3 daysmm/swap: add cond_resched() in swap_reclaim_full_clusters to prevent softlockupZijiang Huang1-0/+1
2026-04-15Merge tag 'mm-stable-2026-04-13-21-45' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-664/+486
2026-04-05mm/swapfile: remove duplicate include of swap_table.hChen Ni1-1/+0
2026-04-05mm/swap: strengthen locking assertions and invariants in cluster allocationHui Zhu1-1/+6
2026-04-05mm, swap: no need to clear the shadow explicitlyKairui Song1-2/+0
2026-04-05mm, swap: simplify checking if a folio is swappedKairui Song1-37/+45
2026-04-05mm, swap: no need to truncate the scan borderKairui Song1-1/+1
2026-04-05mm, swap: use the swap table to track the swap countKairui Song1-502/+288
2026-04-05mm, swap: simplify swap table sanity range checkKairui Song1-26/+9
2026-04-05mm, swap: mark bad slots in swap table directlyKairui Song1-15/+41
2026-04-05mm, swap: consolidate bad slots setup and make it more robustKairui Song1-30/+38
2026-04-05mm, swap: remove redundant arguments and locking for enabling a deviceKairui Song1-30/+18
2026-04-05mm, swap: clean up swapon process and lockingKairui Song1-39/+48
2026-04-05mm, swap: protect si->swap_file properly and use as a mount indicatorKairui Song1-12/+13
2026-03-24mm, swap: speed up hibernation allocation and writeoutKairui Song1-5/+16
2026-03-09block: remove bdev_nonrot()Damien Le Moal1-1/+1
2026-02-21Convert more 'alloc_obj' cases to default GFP_KERNEL argumentsLinus Torvalds1-2/+1
2026-02-21Convert 'alloc_obj' family to use the new default GFP_KERNEL argumentLinus Torvalds1-3/+3
2026-02-21treewide: Replace kmalloc with kmalloc_obj for non-scalar typesKees Cook1-5/+5
2026-02-12Merge tag 'mm-stable-2026-02-11-19-22' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-478/+384
2026-01-31mm, swap: remove no longer needed _swap_info_getKairui Song1-41/+6
2026-01-31mm, swap: drop the SWAP_HAS_CACHE flagKairui Song1-111/+57
2026-01-31mm, swap: clean up and improve swap entries freeingKairui Song1-142/+96
2026-01-31mm, swap: check swap table directly for checking cacheKairui Song1-26/+29
2026-01-31mm, swap: add folio to swap cache directly on allocationKairui Song1-93/+68
2026-01-31mm, swap: cleanup swap entry management workflowKairui Song1-44/+107
2026-01-31mm, swap: use swap cache as the swap in synchronize layerKairui Song1-14/+25
2026-01-31mm, swap: split locked entry duplicating into a standalone helperKairui Song1-31/+31
2026-01-31mm, swap: consolidate cluster reclaim and usability checkKairui Song1-16/+29
2026-01-31mm, swap: swap entry of a bad slot should not be considered as swapped outKairui Song1-8/+9
2026-01-31mm/shmem, swap: remove SWAP_MAP_SHMEMNhat Pham1-25/+17
2026-01-31mm/shmem: never bypass the swap cache for SWP_SYNCHRONOUS_IOKairui Song1-26/+9
2026-01-31mm, swap: rename __read_swap_cache_async to swap_cache_alloc_folioKairui Song1-1/+1
2026-01-20mm: fix minor spelling mistakes in commentsKevin Lourenco1-1/+1
2026-01-13simplify the callers of file_open_name()Al Viro1-18/+3
2025-11-29mm/swapfile: use plist_for_each_entry in __folio_throttle_swaprateYoungjun Park1-3/+2
2025-11-29mm/swapfile: fix list iteration when next node is removed during discardYoungjun Park1-5/+9
2025-11-24mm: swap: remove scan_swap_map_slots() references from commentsYoungjun Park1-11/+9
2025-11-24mm: swap: change swap_alloc_slow() to voidYoungjun Park1-4/+3
2025-11-24mm, swap: use SWP_SOLIDSTATE to determine if swap is rotationalYoungjun Park1-1/+1
2025-11-24mm, swap: fix memory leak in setup_clusters() error pathYoungjun Park1-3/+2
2025-11-24mm/swap: fix wrong plist empty check in swap_alloc_slow()Youngjun Park1-1/+1
2025-11-24mm: replace remaining pte_to_swp_entry() with softleaf_from_pte()Lorenzo Stoakes1-2/+11
2025-11-24mm: eliminate is_swap_pte() when softleaf_from_pte() sufficesLorenzo Stoakes1-5/+4
2025-11-24Merge branch 'mm-hotfixes-stable' into mm-stable in order to mergeAndrew Morton1-3/+1
2025-11-24mm: swap: remove duplicate nr_swap_pages decrement in get_swap_page_of_type()Youngjun Park1-3/+1
2025-11-16mm/swap: select swap device with default priority round robinBaoquan He1-26/+4
2025-11-16mm/swap: do not choose swap device according to numa nodeBaoquan He1-66/+14
2025-11-16mm, swap: remove redundant argument for isolating a clusterKairui Song1-3/+3
2025-11-16mm, swap: cleanup swap entry allocation parameterKairui Song1-2/+1
2025-11-16mm, swap: rename helper for setup bad slotsKairui Song1-11/+11
2025-11-16mm, swap: do not perform synchronous discard during allocationKairui Song1-7/+33
2025-11-16mm: fix some typos in mm modulejianyun.gao1-1/+1
2025-09-28mm: swap: check for stable address space before operating on the VMACharan Teja Kalla1-0/+3
2025-09-21mm, swap: use a single page for swap table when the size fitsKairui Song1-10/+41
2025-09-21mm, swap: implement dynamic allocation of swap tableKairui Song1-42/+155
2025-09-21mm, swap: remove contention workaround for swap cacheKairui Song1-24/+8
2025-09-21mm, swap: use the swap table for the swap cache and switch APIKairui Song1-25/+75
2025-09-21mm, swap: cleanup swap cache API and add kerneldocKairui Song1-4/+4
2025-09-21mm, swap: tidy up swap device and cluster info helpersKairui Song1-18/+19
2025-09-21mm, swap: rename and move some swap cluster definition and helpersKairui Song1-68/+29
2025-09-21mm, swap: always lock and check the swap cache folio before useKairui Song1-2/+8
2025-09-21mm, swap: fix swap cache index error when retrying reclaimKairui Song1-4/+4
2025-09-21mm, swap: use unified helper for swap cache look upKairui Song1-6/+5
2025-09-13mm/swapfile.c: introduce function alloc_swap_scan_list()Chris Li1-39/+47
2025-09-13mm, swap: prefer nonfull over free clustersKairui Song1-10/+28
2025-09-13mm, swap: remove fragment clusters counterKairui Song1-7/+0
2025-09-13mm, swap: only scan one cluster in fragment listKairui Song1-15/+8
2025-07-24mm: swap: remove stale comment stale comment in cluster_alloc_swap_entry()Kemeng Shi1-3/+2
2025-07-24mm: swap: fix potential buffer overflow in setup_clusters()Kemeng Shi1-3/+7
2025-07-24mm: swap: correctly use maxpages in swapon syscall to avoid potential deadloopKemeng Shi1-27/+26
2025-07-24mm: swap: move nr_swap_pages counter decrement from folio_alloc_swap() to swa...Kemeng Shi1-1/+1
2025-05-31Merge tag 'mm-stable-2025-05-31-14-50' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-97/+87
2025-05-26Merge tag 'vfs-6.16-rc1.writepage' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-1/+1
2025-05-12mm, swap: remove no longer used swap mapping helperKairui Song1-9/+0
2025-05-12mm: move folio_index to mm/swap.h and remove no longer needed helperKairui Song1-6/+0
2025-05-12Merge tag 'vfs-6.15-rc7.fixes' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-0/+9
2025-05-11mm: swap: replace cluster_swap_free_nr() with swap_entries_put_[map/cache]()Kemeng Shi1-19/+11
2025-05-11mm: swap: factor out helper to drop cache of entries within a single clusterKemeng Shi1-10/+17
2025-05-11mm: swap: free each cluster individually in swap_entries_put_map_nr()Kemeng Shi1-38/+32
2025-05-11mm: swap: drop last SWAP_MAP_SHMEM flag in batch in swap_entries_put_nr()Kemeng Shi1-2/+5
2025-05-11mm: swap: use swap_entries_free() drop last ref count in swap_entries_put_nr()Kemeng Shi1-2/+3
2025-05-11mm: swap: use swap_entries_free() to free swap entry in swap_entry_put_locked()Kemeng Shi1-11/+9
2025-05-11mm: swap: enable swap_entry_range_free() to drop any kind of last refKemeng Shi1-14/+24
2025-05-11mm: swap: rename __swap_[entry/entries]_free[_locked] to swap_[entry/entries]...Kemeng Shi1-14/+14
2025-05-07mm, swap: fix false warning for large allocation with !THP_SWAPKairui Song1-7/+16
2025-05-06swapfile: disable swapon for bs > ps devicesLuis Chamberlain1-0/+9
2025-04-07mm: Remove swap_writepage() and shmem_writepage()Matthew Wilcox (Oracle)1-1/+1
2025-03-16mm, swap: simplify folio swap allocationKairui Song1-39/+72
2025-03-16mm, swap: remove swap slot cacheKairui Song1-129/+65
2025-03-16mm, swap: use percpu cluster as allocation fast pathKairui Song1-41/+117
2025-03-16mm, swap: don't update the counter up-frontKairui Song1-16/+2
2025-03-16mm, swap: drop the flag TTRS_DIRECTKairui Song1-20/+3
2025-03-16mm, swap: avoid reclaiming irrelevant swap cacheKairui Song1-1/+10
2025-03-16mm: swap: remove stale comment of swap_reclaim_full_clusters()Kemeng Shi1-1/+0
2025-03-16mm, swap: correct comment in swap_usage_sub()Kemeng Shi1-1/+1
2025-03-16mm, swap: remove setting SWAP_MAP_BAD for discard clusterKemeng Shi1-11/+0
2025-03-16mm/swapfile.c: open code cluster_alloc_swap()Baoquan He1-28/+10
2025-03-16mm/swapfile.c: remove the incorrect code commentBaoquan He1-1/+0
2025-03-16mm/swap: rename swap_swapcount() to swap_entry_swapped()Baoquan He1-3/+3
2025-03-16mm/swapfile.c: remove the unneeded checkingBaoquan He1-3/+0
2025-03-16mm/swapfile.c: optimize code in setup_clusters()Baoquan He1-10/+9
2025-03-16mm/swapfile.c: update the code comment above swap_count_continued()Baoquan He1-2/+2
2025-03-16mm/swap: rename swap_is_has_cache() to swap_only_has_cache()Baoquan He1-3/+3
2025-03-16mm/swap: skip scanning cluster range if it's empty clusterBaoquan He1-0/+3
2025-03-16mm/swap: remove SWAP_FLAG_PRIO_SHIFTBaoquan He1-2/+1
2025-03-05mm, swap: avoid BUG_ON in relocate_cluster()Kemeng Shi1-1/+2
2025-03-05mm: swap: use correct step in loop to wait all clusters in wait_for_allocation()Kemeng Shi1-1/+0
2025-03-05mm: swap: add back full cluster when no entry is reclaimedKemeng Shi1-0/+4
2025-03-05mm: fix possible NULL pointer dereference in __swap_duplicategao xu1-0/+4
2025-02-01mm, swap: fix reclaim offset calculation error during allocationKairui Song1-1/+1
2025-01-25mm, swap_slots: remove slot cache for freeing pathKairui Song1-55/+34
2025-01-25mm, swap: use a global swap cluster for non-rotation devicesKairui Song1-14/+40
2025-01-25mm, swap: introduce a helper for retrieving cluster from offsetKairui Song1-4/+10
2025-01-25mm, swap: simplify percpu cluster updatingKairui Song1-37/+29
2025-01-25mm, swap: reduce contention on device lockKairui Song1-187/+245
2025-01-25mm, swap: use an enum to define all cluster flags and wrap flags changesKairui Song1-36/+40
2025-01-25mm, swap: hold a reference during scan and cleanup flag usageKairui Song1-33/+57
2025-01-25mm, swap: clean up plist removal and addingKairui Song1-49/+137
2025-01-25mm, swap: clean up device availability checkKairui Song1-30/+8
2025-01-25mm, swap: use cluster lock for HDDKairui Song1-74/+35
2025-01-25mm, swap: remove old allocation path for HDDKairui Song1-226/+9
2025-01-25mm, swap: fold swap_info_get_cont in the only callerKairui Song1-24/+15
2025-01-25mm, swap: minor clean up for swap entry allocationKairui Song1-30/+29
2024-11-14mm, swap: fix allocation and scanning race with swapoffKairui Song1-3/+19
2024-11-12mm: swapfile: fix cluster reclaim work crash on rotational devicesJohannes Weiner1-1/+1
2024-10-30mm, swap: avoid over reclaim of full clustersKairui Song1-19/+30
2024-10-17mm/swapfile: skip HugeTLB pages for unuse_vmaLiu Shixin1-1/+1
2024-10-17mm: swap: prevent possible data-race in __try_to_reclaim_swapJeongjun Park1-3/+4
2024-09-09swap: convert swapon() to use a folioMatthew Wilcox (Oracle)1-9/+7
2024-09-03mm: store zero pages to be swapped out in a bitmapUsama Arif1-5/+33
2024-09-03mm: swapfile: fix SSD detection with swapfile on btrfsJohannes Weiner1-79/+86
2024-09-03mm: swap: extend swap_shmem_alloc() to support batch SWAP_MAP_SHMEM flag settingBaolin Wang1-2/+2
2024-09-03mm: attempt to batch free swap entries for zap_pte_range()Barry Song1-11/+67
2024-09-03mm: rename instances of swap_info_struct to meaningful 'si'Barry Song1-167/+167
2024-09-03mm: swap: add a adaptive full cluster cache reclaimKairui Song1-13/+55
2024-09-03mm: swap: relaim the cached parts that got scannedKairui Song1-31/+109
2024-09-03mm: swap: add a fragment cluster listKairui Song1-4/+37
2024-09-03mm: swap: allow cache reclaim to skip slot cacheKairui Song1-43/+109
2024-09-03mm: swap: skip slot cache on freeing for mTHPKairui Song1-33/+26
2024-09-03mm: swap: clean up initialization helperKairui Song1-34/+10
2024-09-03mm: swap: separate SSD allocation from scan_swap_map_slots()Chris Li1-132/+168
2024-09-03mm: swap: mTHP allocate swap entries from nonfull listChris Li1-3/+35
2024-09-03mm: swap: swap cluster switch to double link listChris Li1-164/+62
2024-09-01mm: return the folio from swapin_readaheadMatthew Wilcox (Oracle)1-4/+1
2024-09-01mm: swap: add nr argument in swapcache_prepare and swapcache_clear to support...Barry Song1-41/+54
2024-09-01mm: extend 'usage' parameter so that cluster_swap_free_nr() can be reusedBarry Song1-10/+5
2024-07-03mm: use folio_add_new_anon_rmap() if folio_test_anon(folio)==falseBarry Song1-2/+12
2024-07-03mm: extend rmap flags arguments for folio_add_new_anon_rmapBarry Song1-1/+1
2024-07-03mm: remove the implementation of swap_free() and always use swap_free_nr()Barry Song1-13/+4
2024-07-03mm: swap: introduce swap_free_nr() for batched swap_free()Chuanhua Han1-0/+47
2024-07-03mm/swap: reduce swap cache search spaceKairui Song1-3/+3
2024-07-03mm: drop page_index and simplify folio_indexKairui Song1-4/+3
2024-05-21Merge tag 'pull-set_blocksize' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-27/+2
2024-05-05mm/swapfile: mark racy access on si->highest_bitlinke li1-1/+1
2024-05-05mm: swapfile: check usable swap device in __folio_throttle_swaprate()Kefeng Wang1-3/+10
2024-05-05mm,swap: add document about RCU read lock and swapoff interactionHuang Ying1-13/+13
2024-05-02swapon(2): open swap with O_EXCLAl Viro1-17/+2
2024-05-02swapon(2)/swapoff(2): don't bother with block sizeAl Viro1-11/+1
2024-04-25mm: swap: allow storage of all mTHP ordersRyan Roberts1-71/+91
2024-04-25mm: swap: update get_swap_pages() to take folio orderRyan Roberts1-6/+7
2024-04-25mm: swap: simplify struct percpu_clusterRyan Roberts1-11/+11
2024-04-25mm: swap: free_swap_and_cache_nr() as batched free_swap_and_cache()Ryan Roberts1-18/+79
2024-04-25mm: swap: remove CLUSTER_FLAG_HUGE from swap_cluster_info:flagsRyan Roberts1-39/+8
2024-04-25arm64: mm: swap: support THP_SWAP on hardware with MTEBarry Song1-1/+1
2024-03-14Merge tag 'mm-stable-2024-03-13-20-04' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-9/+36
2024-03-11Merge tag 'vfs-6.9.super' of git://git.kernel.org/pub/scm/linux/kernel/git/vf...Linus Torvalds1-11/+11
2024-03-06mm: swap: fix race between free_swap_and_cache() and swapoff()Ryan Roberts1-1/+12
2024-02-25swap: port block device usage to fileChristian Brauner1-11/+11
2024-02-23mm/swapfile:__swap_duplicate: drop redundant WRITE_ONCE on swap_map for err c...Barry Song1-1/+2
2024-02-22mm/zswap: invalidate zswap entry when swap entry freeChengming Zhou1-1/+0
2024-02-22mm: swap: enforce updating inuse_pages at the end of swap_range_free()Yosry Ahmed1-3/+15
2024-02-22mm/zswap: split zswap rb-treeChengming Zhou1-1/+1
2024-02-22mm/zswap: make sure each swapfile always have zswap rb-treeChengming Zhou1-3/+7
2024-02-20mm/swap: fix race when skipping swapcacheKairui Song1-0/+13
2024-01-10Merge tag 'header_cleanup-2024-01-10' of https://evilpiepirate.org/git/bcachefsLinus Torvalds1-0/+1
2023-12-29mm/swapfile: page_add_anon_rmap() -> folio_add_anon_rmap_pte()David Hildenbrand1-1/+1
2023-12-29mm: remove page_swap_info()Matthew Wilcox (Oracle)1-7/+1
2023-12-29mm: convert swap_readpage() to swap_read_folio()Matthew Wilcox (Oracle)1-1/+1
2023-12-29mm: convert swap_page_sector() to swap_folio_sector()Matthew Wilcox (Oracle)1-3/+3
2023-12-29mm: convert unuse_pte() to use a folio throughoutMatthew Wilcox (Oracle)1-22/+25
2023-12-29mm: remove PageAnonExclusive assertions in unuse_pte()Matthew Wilcox (Oracle)1-4/+0
2023-12-29mm: convert ksm_might_need_to_copy() to work on foliosMatthew Wilcox (Oracle)1-3/+5
2023-12-20plist: Split out plist_types.hKent Overstreet1-0/+1
2023-12-10mm/swapfile: replace kmap_atomic() with kmap_local_page()Fabio M. De Francesco1-17/+17
2023-10-28mm/swap: Convert to use bdev_open_by_dev()Jan Kara1-11/+12
2023-08-24mm/swap: inline folio_set_swap_entry() and folio_swap_entry()David Hildenbrand1-1/+1
2023-08-24mm/swap: stop using page->private on tail pages for THP_SWAPDavid Hildenbrand1-2/+2
2023-08-21merge mm-hotfixes-stable into mm-stable to pick up depended-upon changesAndrew Morton1-4/+4
2023-08-21mm/swapfile.c: use helper macro K()ZhangPeng1-6/+6
2023-08-21mm: kill frontswapJohannes Weiner1-23/+10
2023-08-18mm: make PTE_MARKER_SWAPIN_ERROR more generalAxel Rasmussen1-1/+1