aboutsummaryrefslogtreecommitdiffstats
path: root/mm/zswap.c
AgeCommit message (Expand)AuthorFilesLines
2024-04-24mm: zswap: fix shrinker NULL crash with cgroup_disable=memoryJohannes Weiner1-9/+16
2024-03-26mm: zswap: fix data loss on SWP_SYNCHRONOUS_IO devicesJohannes Weiner1-4/+19
2024-03-26mm: zswap: fix writeback shinker GFP_NOIO/GFP_NOFS recursionJohannes Weiner1-0/+8
2024-03-26mm: zswap: fix kernel BUG in sg_init_oneBarry Song1-2/+12
2024-03-13mm/zswap: remove the memcpy if acomp is not sleepableBarry Song1-2/+4
2024-03-06mm/zswap: global lru and shrinker shared by all zswap_pools fixChengming Zhou1-39/+38
2024-03-04mm/zswap: change zswap_pool kref to percpu_refChengming Zhou1-15/+33
2024-03-04mm/zswap: global lru and shrinker shared by all zswap_poolsChengming Zhou1-105/+66
2024-02-23mm: zswap: increase reject_compress_poor but not reject_compress_fail if comp...Barry Song1-14/+13
2024-02-22mm/zswap: optimize and cleanup the invalidation of duplicate entryChengming Zhou1-18/+16
2024-02-22mm/zswap: zswap entry doesn't need refcount anymoreChengming Zhou1-52/+11
2024-02-22mm/zswap: only support zswap_exclusive_loads_enabledChengming Zhou1-11/+3
2024-02-22mm/zswap: remove duplicate_entry debug valueChengming Zhou1-8/+1
2024-02-22mm/zswap: stop lru list shrinking when encounter warm regionChengming Zhou1-1/+3
2024-02-22mm/zswap: invalidate zswap entry when swap entry freeChengming Zhou1-2/+3
2024-02-22mm/zswap: add more comments in shrink_memcg_cb()Chengming Zhou1-17/+26
2024-02-22mm: zswap: function ordering: shrink_memcg_cbJohannes Weiner1-64/+61
2024-02-22mm: zswap: function ordering: writebackJohannes Weiner1-93/+90
2024-02-22mm: zswap: function ordering: per-cpu compression infraJohannes Weiner1-69/+66
2024-02-22mm: zswap: function ordering: compress & decompress functionsJohannes Weiner1-102/+105
2024-02-22mm: zswap: function ordering: move entry section out of tree sectionJohannes Weiner1-21/+21
2024-02-22mm: zswap: function ordering: move entry sections out of LRU sectionJohannes Weiner1-52/+49
2024-02-22mm: zswap: function ordering: public lru apiJohannes Weiner1-17/+19
2024-02-22mm: zswap: function ordering: pool paramsJohannes Weiner1-156/+156
2024-02-22mm: zswap: function ordering: zswap_poolsJohannes Weiner1-77/+73
2024-02-22mm: zswap: function ordering: pool refcountingJohannes Weiner1-47/+47
2024-02-22mm: zswap: function ordering: pool alloc & freeJohannes Weiner1-145/+152
2024-02-22mm: zswap: simplify zswap_invalidate()Johannes Weiner1-7/+2
2024-02-22mm: zswap: further cleanup zswap_store()Johannes Weiner1-15/+13
2024-02-22mm: zswap: break out zwap_compress()Johannes Weiner1-68/+77
2024-02-22mm: zswap: rename __zswap_load() to zswap_decompress()Johannes Weiner1-3/+3
2024-02-22mm: zswap: clean up zswap_entry_put()Johannes Weiner1-7/+3
2024-02-22mm: zswap: warn when referencing a dead entryJohannes Weiner1-0/+1
2024-02-22mm: zswap: move zswap_invalidate_entry() to related functionsJohannes Weiner1-12/+12
2024-02-22mm: zswap: inline and remove zswap_entry_find_get()Johannes Weiner1-15/+2
2024-02-22mm: zswap: rename zswap_free_entry to zswap_entry_freeJohannes Weiner1-2/+2
2024-02-22mm/list_lru: remove list_lru_putback()Chengming Zhou1-1/+1
2024-02-22mm/zswap: fix race between lru writeback and swapoffChengming Zhou1-65/+49
2024-02-22mm: zswap: remove unused tree argument in zswap_entry_put()Yosry Ahmed1-5/+4
2024-02-22mm: zswap: remove unnecessary trees cleanups in zswap_swapoff()Yosry Ahmed1-13/+3
2024-02-22mm/zswap: split zswap rb-treeChengming Zhou1-25/+46
2024-02-22mm/zswap: make sure each swapfile always have zswap rb-treeChengming Zhou1-5/+3
2024-02-22mm/zswap: improve with alloc_workqueue() callRonald Monthero1-1/+2
2024-02-20mm/zswap: invalidate duplicate entry when !zswap_enabledChengming Zhou1-1/+5
2024-02-20mm/swap_state: update zswap LRU's protection range with the folio lockedNhat Pham1-4/+3
2024-02-20mm: zswap: fix missing folio cleanup in writeback race pathYosry Ahmed1-0/+2
2024-02-07mm/zswap: don't return LRU_SKIP if we have dropped lru lockChengming Zhou1-3/+1
2024-02-07mm: zswap: fix objcg use-after-free in entry destructionJohannes Weiner1-4/+4
2023-12-29zswap: memcontrol: implement zswap writeback disablingNhat Pham1-2/+11
2023-12-29mm: pass a folio to __swap_writepage()Matthew Wilcox (Oracle)1-1/+1
2023-12-29mm: return the folio from __read_swap_cache_async()Matthew Wilcox (Oracle)1-29/+29
2023-12-29mm/zswap: change per-cpu mutex and buffer to per-acomp_ctxChengming Zhou1-71/+33
2023-12-29mm/zswap: cleanup zswap_writeback_entry()Chengming Zhou1-19/+10
2023-12-29mm/zswap: cleanup zswap_load()Chengming Zhou1-9/+5
2023-12-29mm/zswap: refactor out __zswap_load()Chengming Zhou1-60/+32
2023-12-29mm/zswap: reuse dstmem when decompressChengming Zhou1-32/+12
2023-12-20mm: memcg: restore subtree stats flushingYosry Ahmed1-1/+1
2023-12-12zswap: shrink zswap pool based on memory pressureNhat Pham1-4/+188
2023-12-12mm: memcg: add per-memcg zswap writeback statDomenico Cerasuolo1-0/+4
2023-12-12zswap: make shrinking memcg-awareDomenico Cerasuolo1-52/+216
2023-12-10mm/zswap: replace kmap_atomic() with kmap_local_page()Fabio M. De Francesco1-5/+5
2023-11-01zswap: export compression failure statsNhat Pham1-1/+7
2023-10-25mempolicy: alloc_pages_mpol() for NUMA policy without vmaHugh Dickins1-2/+5
2023-10-18mm: zswap: fix pool refcount bug around shrink_worker()Johannes Weiner1-2/+2
2023-09-29mm: zswap: fix potential memory corruption on duplicate storeDomenico Cerasuolo1-0/+20
2023-08-24mm/swap: inline folio_set_swap_entry() and folio_swap_entry()David Hildenbrand1-2/+2
2023-08-21mm: zswap: update comment for struct zswap_entryXiu Jianfeng1-1/+2
2023-08-21mm: zswap: kill zswap_get_swap_cache_page()Johannes Weiner1-89/+53
2023-08-21mm: zswap: tighten up entry invalidationJohannes Weiner1-2/+2
2023-08-21mm: zswap: use zswap_invalidate_entry() for duplicatesJohannes Weiner1-3/+1
2023-08-21zswap: make zswap_load() take a folioMatthew Wilcox (Oracle)1-4/+5
2023-08-21memcg: convert get_obj_cgroup_from_page to get_obj_cgroup_from_folioMatthew Wilcox (Oracle)1-1/+1
2023-08-21zswap: make zswap_store() take a folioMatthew Wilcox (Oracle)1-6/+7
2023-08-21mm: kill frontswapJohannes Weiner1-96/+63
2023-08-21mm: zswap: multiple zpools supportYosry Ahmed1-27/+54
2023-06-23mm: zswap: fix double invalidate with exclusive loadsYosry Ahmed1-9/+12
2023-06-23Merge mm-hotfixes-stable into mm-stable to pick up depended-upon changes.Andrew Morton1-2/+9
2023-06-19mm: zswap: invaldiate entry after writebackDomenico Cerasuolo1-16/+17
2023-06-19mm: zswap: remove zswap_headerDomenico Cerasuolo1-30/+22
2023-06-19mm: zswap: simplify writeback functionDomenico Cerasuolo1-51/+19
2023-06-19mm: zswap: remove shrink from zpool interfaceDomenico Cerasuolo1-20/+7
2023-06-19mm: zswap: add pool shrinking mechanismDomenico Cerasuolo1-5/+92
2023-06-19mm: zswap: support exclusive loadsYosry Ahmed1-8/+20
2023-06-12zswap: do not shrink if cgroup may not zswapNhat Pham1-2/+9
2023-06-09mm: zswap: shrink until can acceptDomenico Cerasuolo1-3/+14
2023-05-17mm: fix zswap writeback race conditionDomenico Cerasuolo1-0/+16
2023-04-27Merge tag 'mm-stable-2023-04-27-15-30' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-49/+89
2023-04-18mm/zswap: delay the initialization of zswapLiu Shixin1-17/+54
2023-04-18mm/zswap: replace zswap_init_{started/failed} with zswap_init_stateLiu Shixin1-25/+30
2023-04-18mm/zswap: remove zswap_entry_cache_{create,destroy} helper functionLiu Shixin1-13/+3
2023-04-13zswap: remove MODULE_LICENSE in non-modulesNick Alcock1-1/+0
2023-03-28mm/zswap: try to avoid worst-case scenario on same element pagesTaejoon Song1-4/+12
2022-12-11zswap: fix writeback lock ordering for zsmallocJohannes Weiner1-16/+19
2022-11-30zswap: do not allocate from atomic poolSergey Senozhatsky1-2/+2
2022-09-11mm/swap: remove the end_write_func argument to __swap_writepageChristoph Hellwig1-1/+1
2022-05-19zswap: memcg accountingJohannes Weiner1-7/+30
2022-05-19mm: zswap: add basic meminfo and vmstat coverageJohannes Weiner1-7/+6
2022-05-09mm: create new mm/swap.h header fileNeilBrown1-0/+2
2022-03-22mm/zswap.c: allow handling just same-value filled pagesMaciej S. Szmigiero1-1/+14
2022-01-22frontswap: remove support for multiple opsChristoph Hellwig1-2/+6
2021-06-30mm/zswap.c: fix two bugs in zswap_writeback_entry()Miaohe Lin1-10/+7
2021-06-30mm/zswap.c: avoid unnecessary copy-in at map timeMiaohe Lin1-1/+1
2021-06-30mm/zswap.c: remove unused function zswap_debugfs_exit()Miaohe Lin1-7/+0
2021-05-05mm/zswap.c: switch from strlcpy to strscpyZhiyuan Dai1-1/+1
2021-02-26mm/zswap: add the flag can_sleep_mappedTian Tao1-5/+46
2021-02-26mm: zswap: clean up confusing commentRandy Dunlap1-3/+3
2020-12-15mm/zswap: move to use crypto_acomp API for hardware accelerationBarry Song1-46/+137
2020-12-15mm/zswap: fix passing zero to 'PTR_ERR' warningYueHaibing1-1/+1
2020-12-15mm/zswap: make struct kernel_param_ops definitions constJoe Perches1-3/+3
2020-04-07mm/zswap: allow setting default status, compressor and allocator in KconfigMaciej S. Szmigiero1-12/+12
2020-01-31zswap: potential NULL dereference on error in init_zswap()Dan Carpenter1-1/+2
2020-01-31mm/zswap.c: add allocation hysteresis if pool limit is hitVitaly Wool1-31/+54
2019-09-24zswap: do not map same object twiceVitaly Wool1-4/+3
2019-09-24zswap: use movable memory if zpool support allocate movable memoryHui Zhu1-3/+5
2019-06-03zswap: ignore debugfs_create_dir() return valueGreg Kroah-Hartman1-2/+0
2019-05-30treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157Thomas Gleixner1-10/+1
2018-12-28mm: convert totalram_pages and totalhigh_pages variables to atomicArun KS1-2/+2
2018-07-26zswap: re-check zswap_is_full() after do zswap_shrink()Li Wang1-0/+9
2018-06-15mm: use octal not symbolic permissionsJoe Perches1-19/+19
2018-02-21mm, swap, frontswap: fix THP swap if frontswap enabledHuang Ying1-0/+6
2018-01-31zswap: only save zswap header when necessaryYu Zhao1-10/+10
2018-01-31zswap: same-filled pages handlingSrividya Desireddy1-5/+66
2017-07-06mm/zswap.c: delete an error message for a failed memory allocation in zswap_d...Markus Elfring1-3/+2
2017-07-06mm/zswap.c: improve a size determination in zswap_frontswap_init()Markus Elfring1-1/+1
2017-07-06mm/zswap.c: delete an error message for a failed memory allocation in zswap_p...Markus Elfring1-3/+1
2017-02-27zswap: don't param_set_charp while holding spinlockDan Streetman1-7/+13
2017-02-27zswap: clear compressor or zpool param if invalid at initDan Streetman1-12/+37
2017-02-27zswap: allow initialization at boot without poolDan Streetman1-12/+34
2017-02-03zswap: disable changing params if init failsDan Streetman1-1/+29
2016-12-02mm/zswap: Convert pool to hotplug state machineSebastian Andrzej Siewior1-65/+34
2016-12-02mm/zswap: Convert dst-mem to hotplug state machineSebastian Andrzej Siewior1-56/+17
2016-05-20mm/zswap: use workqueue to destroy poolDan Streetman1-4/+8
2016-05-05mm/zswap: provide unique zpool nameDan Streetman1-1/+7
2016-04-04mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macrosKirill A. Shutemov1-2/+2
2015-12-18mm/zswap: change incorrect strncmp use to strcmpDan Streetman1-3/+3
2015-11-06zswap: use charp for zswap param stringsDan Streetman1-40/+40
2015-11-06mm/zswap.c: remove unneeded initialization to NULL in zswap_entry_find_get()Alexey Klimov1-1/+1
2015-11-06mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep...Mel Gorman1-2/+3
2015-09-10zswap: change zpool/compressor at runtimeDan Streetman1-13/+129
2015-09-10zswap: dynamic pool creationDan Streetman1-143/+405
2015-09-08mm: zpool: constify the zpool_opsKrzysztof Kozlowski1-1/+1
2015-09-08mm: swap: zswap: maybe_preload & refactoringDmitry Safonov1-67/+6
2015-06-25zswap: runtime enable/disableDan Streetman1-7/+5
2015-02-12mm/zpool: add name argument to create zpoolGanesh Mahendran1-2/+3
2014-12-13mm/zswap: delete unnecessary check before calling free_percpu()Markus Elfring1-2/+1
2014-12-13mm/zswap: add __init to some functions in zswapMahendran Ganesh1-3/+3
2014-11-20Merge Linus' tree to be be to apply submitted patches to newer code thanJiri Kosina1-33/+48
2014-11-13zbud, zswap: change module author emailSeth Jennings1-1/+1
2014-08-08mm/zswap.c: add __init to zswap_entry_cache_destroy()Fabian Frederick1-2/+2
2014-08-08mm: memcontrol: rewrite uncharge APIJohannes Weiner1-1/+1
2014-08-06mm/zpool: update zswap to use zpoolDan Streetman1-30/+45
2014-06-04mm/zswap: NUMA aware allocation for zswap_dstmemEric Dumazet1-1/+1
2014-04-07Merge branch 'akpm' (incoming from Andrew)Linus Torvalds1-38/+40
2014-04-07mm/zswap.c: remove unnecessary parenthesesSeongJae Park1-3/+3
2014-04-07mm/zswap: support multiple swap devicesMinchan Kim1-31/+33
2014-04-07mm/zswap.c: update zsmalloc in comment to zbudSeongJae Park1-2/+2
2014-04-07mm/zswap.c: fix trivial typo and arrange indentationSeongJae Park1-2/+2
2014-03-20mm, zswap: Fix CPU hotplug callback registrationSrivatsa S. Bhat1-4/+4
2014-01-23mm/zswap.c: change params from hidden to roDan Streetman1-2/+2
2013-11-13mm/zswap: refactor the get/put routinesWeijie Yang1-94/+88
2013-11-13mm/zswap: bugfix: memory leak when invalidate and reclaim occur concurrentlyWeijie Yang1-8/+14
2013-11-13mm/zswap: avoid unnecessary page scanningWeijie Yang1-0/+3
2013-10-16mm/zswap: bugfix: memory leak when re-swaponWeijie Yang1-0/+4
2013-09-11mm/zswap: use postorder iteration when destroying rbtreeCody P Schafer1-14/+2
2013-09-11mm/zswap.c: get swapper address_space by using macroSunghan Suh1-1/+1
2013-07-10zswap: add to mm/Seth Jennings1-0/+943