aboutsummaryrefslogtreecommitdiffstats
path: root/mm/swapfile.c
AgeCommit message (Expand)AuthorFilesLines
2025-05-26Merge tag 'vfs-6.16-rc1.writepage' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-1/+1
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-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
2023-08-18mm: call arch_swap_restore() from unuse_pte()Peter Collingbourne1-0/+7
2023-08-18swap: stop add to avail list if swap is fullMa Wupeng1-1/+4
2023-08-18swap: cleanup duplicated WARN_ON in add_to_avail_listMa Wupeng1-3/+1
2023-08-04mm/swapfile: fix wrong swap entry type for hwpoisoned swapcache pageMiaohe Lin1-4/+4
2023-06-28Merge tag 'mm-stable-2023-06-24-19-15' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-63/+46
2023-06-23mm/swapfile: delete outdated pte_offset_map() commentHugh Dickins1-5/+0
2023-06-19mm: ptep_get() conversionRyan Roberts1-7/+13
2023-06-19mm/swapoff: allow pte_offset_map[_lock]() to failHugh Dickins1-18/+20
2023-06-12block: replace fmode_t with a block-specific type for block open flagsChristoph Hellwig1-1/+1
2023-06-12block: use the holder as indication for exclusive opensChristoph Hellwig1-4/+3
2023-06-09swap: comments get_swap_device() with usage ruleHuang Ying1-3/+9
2023-06-09swap: remove get/put_swap_device() in __swap_duplicate()Huang Ying1-4/+1
2023-06-09swap: remove __swp_swapcount()Huang Ying1-19/+1
2023-06-09swap: remove get/put_swap_device() in __swap_count()Huang Ying1-8/+2
2023-06-09mm: page_alloc: move pm_* function into powerKefeng Wang1-0/+1
2023-06-05block: introduce holder opsChristoph Hellwig1-1/+2
2023-04-16sync mm-stable with mm-hotfixes-stable to pick up depended-upon upstream changesAndrew Morton1-1/+2
2023-04-05mm: return an ERR_PTR from __filemap_get_folioChristoph Hellwig1-2/+2
2023-04-05mm/swap: fix swap_info_struct race between swapoff and get_swap_pages()Rongwei Wang1-1/+2
2023-03-28mm: swap: remove unneeded cgroup_throttle_swaprate()Kefeng Wang1-3/+3
2023-02-23Merge tag 'mm-stable-2023-02-20-13-37' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-6/+5
2023-02-20Merge tag 'for-6.3/block-2023-02-16' of git://git.kernel.dk/linuxLinus Torvalds1-1/+1
2023-02-10Merge branch 'mm-hotfixes-stable' into mm-stableAndrew Morton1-6/+14
2023-02-09mm/swapfile: remove pr_debug in get_swap_pages()Longlong Xia1-2/+0
2023-02-09mm: hwpoison: support recovery from ksm_might_need_to_copy()Kefeng Wang1-6/+14
2023-02-03blk-cgroup: store a gendisk to throttle in struct task_structChristoph Hellwig1-1/+1
2023-02-02block: remove ->rw_pageChristoph Hellwig1-1/+1
2023-01-31Sync mm-stable with mm-hotfixes-stable to pick up dependent patchesAndrew Morton1-0/+1
2023-01-31mm/swapfile: add cond_resched() in get_swap_pages()Longlong Xia1-0/+1
2023-01-18swapfile: get rid of volatile and avoid redundant readKairui Song1-3/+4
2022-12-13Merge tag 'mm-stable-2022-12-13' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-1/+1
2022-12-12Merge tag 'random-6.2-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-3/+2
2022-11-30mm: use pte markers for swap errorsPeter Xu1-1/+1
2022-11-22swapfile: fix soft lockup in scan_swap_map_slotsChen Wandun1-4/+4
2022-11-18treewide: use get_random_u32_inclusive() when possibleJason A. Donenfeld1-3/+2
2022-11-18treewide: use get_random_u32_below() instead of deprecated functionJason A. Donenfeld1-2/+2
2022-10-10Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-88/+90
2022-10-03memcg: convert mem_cgroup_swap_full() to take a folioMatthew Wilcox (Oracle)1-1/+1
2022-10-03swapfile: convert unuse_pte_range() to use a folioMatthew Wilcox (Oracle)1-14/+19
2022-10-03swapfile: convert __try_to_reclaim_swap() to use a folioMatthew Wilcox (Oracle)1-11/+11
2022-10-03swapfile: convert try_to_unuse() to use a folioMatthew Wilcox (Oracle)1-11/+11
2022-10-03mm/swap: convert put_swap_page() to put_swap_folio()Matthew Wilcox (Oracle)1-2/+2
2022-10-03mm/swapfile: convert try_to_free_swap() to folio_free_swap()Matthew Wilcox (Oracle)1-14/+18
2022-10-03mm/swapfile: remove page_swapcount()Matthew Wilcox (Oracle)1-33/+13
2022-09-26mm/swapfile: use vma iterator instead of vma linked listLiam R. Howlett1-1/+3
2022-09-26mm/swap: cache swap migration A/D bits supportPeter Xu1-0/+8
2022-09-26mm/swap: cache maximum swapfile size when init swapPeter Xu1-2/+5
2022-09-26blk-cgroup: pass a gendisk to blkcg_schedule_throttleChristoph Hellwig1-1/+1
2022-07-03mm/swap: convert delete_from_swap_cache() to take a folioMatthew Wilcox (Oracle)1-1/+1
2022-07-03mm/swap: convert try_to_free_swap to use a folioMatthew Wilcox (Oracle)1-12/+11
2022-07-03mm/swapfile: fix possible data races of inuse_pagesMiaohe Lin1-4/+4
2022-05-27Merge tag 'mm-stable-2022-05-27' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-3/+18
2022-05-27mm/swapfile: fix lost swap bits in unuse_pte()Miaohe Lin1-3/+7
2022-05-27mm/swapfile: unuse_pte can map random data if swap read failsMiaohe Lin1-0/+11
2022-05-26Merge tag 'mm-stable-2022-05-25' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-65/+70
2022-05-24Merge tag 'folio-5.19' of git://git.infradead.org/users/willy/pagecacheLinus Torvalds1-1/+1
2022-05-19mm/swap: fix comment about swap extentMiaohe Lin1-9/+6
2022-05-19mm/swap: clean up the comment of find_next_to_unuseMiaohe Lin1-3/+3
2022-05-19mm/swap: add helper swap_offset_available()Miaohe Lin1-16/+18
2022-05-19mm/swap: make page_swapcount and __lru_add_drain_all staticMiaohe Lin1-1/+1
2022-05-19mm/swap: remove unneeded p != NULL check in __swap_duplicateMiaohe Lin1-2/+1
2022-05-19mm/swap: print bad swap offset entry in get_swap_deviceMiaohe Lin1-0/+1
2022-05-19mm/swap: fold __swap_info_get() into its sole callerMiaohe Lin1-18/+6
2022-05-13swap: turn get_swap_page() into folio_alloc_swap()Matthew Wilcox (Oracle)1-8/+9
2022-05-09mm: introduce ->swap_rw and use it for reads from SWP_FS_OPS swap-spaceNeilBrown1-0/+5
2022-05-09mm: move responsibility for setting SWP_FS_OPS to ->swap_activateNeilBrown1-7/+3
2022-05-09mm: create new mm/swap.h header fileNeilBrown1-0/+1
2022-05-09mm/swap: remember PG_anon_exclusive via a swp pte bitDavid Hildenbrand1-1/+12
2022-05-09mm/page-flags: reuse PG_mappedtodisk as PG_anon_exclusive for PageAnon() pagesDavid Hildenbrand1-0/+4
2022-05-09mm/rmap: drop "compound" parameter from page_add_new_anon_rmap()David Hildenbrand1-1/+1
2022-05-09mm/rmap: remove do_page_add_anon_rmap()David Hildenbrand1-1/+1
2022-05-09mm,fs: Remove aops->readpageMatthew Wilcox (Oracle)1-1/+1
2022-05-09fs: Introduce aops->read_folioMatthew Wilcox (Oracle)1-1/+1
2022-05-02blk-cgroup: remove unneeded includes from <linux/blk-cgroup.h>Christoph Hellwig1-0/+1
2022-04-17block: decouple REQ_OP_SECURE_ERASE from REQ_OP_DISCARDChristoph Hellwig1-3/+3
2022-04-17block: remove QUEUE_FLAG_DISCARDChristoph Hellwig1-15/+2
2022-04-17block: add a bdev_stable_writes helperChristoph Hellwig1-1/+1
2022-04-17block: add a bdev_nonrot helperChristoph Hellwig1-2/+2
2022-04-17mm: use bdev_is_zoned in claim_swapfileChristoph Hellwig1-1/+1
2022-03-24mm/swapfile: remove stale reuse_swap_page()David Hildenbrand1-104/+0
2022-03-22userfaultfd: provide unmasked address on page-faultNadav Amit1-0/+1
2022-01-22mm: mark swap_lock and swap_active_head staticChristoph Hellwig1-2/+2
2022-01-22mm: simplify try_to_unuseChristoph Hellwig1-60/+23
2022-01-22frontswap: simplify frontswap_initChristoph Hellwig1-1/+2
2022-01-15mm: remove the total_mapcount argument from page_trans_huge_mapcount()Matthew Wilcox (Oracle)1-1/+1
2022-01-15mm: remove the total_mapcount argument from page_trans_huge_map_swapcount()Matthew Wilcox (Oracle)1-20/+12
2022-01-15mm: remove last argument of reuse_swap_page()Matthew Wilcox (Oracle)1-7/+1
2022-01-15mm: change page type prior to adding page table entryPasha Tatashin1-2/+2
2021-11-06Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-3/+3
2021-11-06mm/swapfile: fix an integer overflow in swap_show()Rafael Aquini1-2/+2
2021-11-06mm/swapfile: remove needless request_queue NULL pointer checkXu Wang1-1/+1