aboutsummaryrefslogtreecommitdiffstats
path: root/mm/zsmalloc.c
AgeCommit message (Expand)AuthorFilesLines
2024-03-04mm/zsmalloc: don't need to reserve LSB in handleChengming Zhou1-4/+1
2024-02-23mm/zsmalloc: remove get_zspage_mapping()Chengming Zhou1-24/+4
2024-02-23mm/zsmalloc: remove_zspage() don't need fullness parameterChengming Zhou1-7/+7
2024-02-23mm/zsmalloc: remove set_zspage_mapping()Chengming Zhou1-11/+2
2024-02-23mm/zsmalloc: remove unused zspage->isolatedChengming Zhou1-32/+0
2024-02-23mm/zsmalloc: remove migrate_write_lock_nested()Chengming Zhou1-17/+5
2024-02-23mm/zsmalloc: fix migrate_write_lock() when !CONFIG_COMPACTIONChengming Zhou1-6/+3
2024-01-05mm: zsmalloc: return -ENOSPC rather than -EINVAL in zs_malloc while size is t...Barry Song1-1/+4
2023-10-18zsmalloc: use copy_page for full page copyMark-PK Tsai1-1/+1
2023-10-04zsmalloc: dynamically allocate the mm-zspool shrinkerQi Zheng1-12/+15
2023-08-21merge mm-hotfixes-stable into mm-stable to pick up depended-upon changesAndrew Morton1-5/+9
2023-08-18zsmalloc: remove obj_tagged()Sergey Senozhatsky1-22/+7
2023-08-18zsmalloc: remove zs_compact_controlMinchan Kim1-28/+9
2023-08-18zsmalloc: move migration destination zspage inuse checkSergey Senozhatsky1-4/+4
2023-08-18zsmalloc: do not scan for allocated objects in empty zspageSergey Senozhatsky1-0/+9
2023-08-04zsmalloc: fix races between modifications of fullness and isolatedAndrew Yang1-5/+9
2023-06-19mm: zswap: remove shrink from zpool interfaceDomenico Cerasuolo1-3/+1
2023-06-19mm: zswap: remove page reclaim logic from zsmallocDomenico Cerasuolo1-380/+12
2023-06-09mm/zsmalloc: get rid of PAGE_MASKAlexey Romanov1-6/+6
2023-05-17zsmalloc: move LRU update from zs_map_object() to zs_malloc()Nhat Pham1-27/+9
2023-04-21zsmalloc: allow only one active pool compaction contextSergey Senozhatsky1-0/+12
2023-04-18zsmalloc: reset compaction source zspage pointer after putback_zspage()Sergey Senozhatsky1-1/+1
2023-03-28zsmalloc: show per fullness group class statsSergey Senozhatsky1-30/+23
2023-03-28zsmalloc: rework compaction algorithmSergey Senozhatsky1-42/+36
2023-03-28zsmalloc: fine-grained inuse ratio based fullness groupingSergey Senozhatsky1-118/+130
2023-03-28zsmalloc: remove insert_zspage() ->inuse optimizationSergey Senozhatsky1-12/+1
2023-02-02zsmalloc: make zspage chain size configurableSergey Senozhatsky1-8/+4
2023-02-02zsmalloc: skip chain size calculation for pow_of_2 classesSergey Senozhatsky1-0/+3
2023-02-02zsmalloc: rework zspage chain size selectionSergey Senozhatsky1-37/+19
2023-01-31Sync mm-stable with mm-hotfixes-stable to pick up dependent patchesAndrew Morton1-32/+205
2023-01-31zsmalloc: fix a race with deferred_handles storingNhat Pham1-32/+205
2023-01-18mm: remove PageMovable exportGreg Kroah-Hartman1-3/+0
2022-12-11zsmalloc: implement writeback mechanism for zsmallocNhat Pham1-11/+183
2022-12-11zsmalloc: add zpool_ops field to zs_pool to store evict handlersNhat Pham1-1/+10
2022-12-11zsmalloc: add a LRU to zs_pool to keep track of zspages in LRU orderNhat Pham1-0/+50
2022-12-11zsmalloc: consolidate zs_pool's migrate_lock and size_class's locksNhat Pham1-50/+37
2022-11-30zram: add size class equals check into recompressionAlexey Romanov1-0/+21
2022-11-30zsmalloc: replace IS_ERR() with IS_ERR_VALUE()Deming Wang1-1/+1
2022-10-20zsmalloc: zs_destroy_pool: add size_class NULL checkAlexey Romanov1-0/+3
2022-10-03zsmalloc: use correct types in _first_obj_offset functionsAlexey Romanov1-4/+4
2022-09-11zsmalloc: zs_object_copy: replace email link to docAlexey Romanov1-2/+2
2022-09-11zsmalloc: remove unnecessary size_class NULL checkAlexey Romanov1-7/+0
2022-09-11zsmalloc: zs_object_copy: add clarifying commentAlexey Romanov1-0/+7
2022-08-28mm/zsmalloc: do not attempt to free IS_ERR handleSergey Senozhatsky1-1/+1
2022-08-05Merge tag 'mm-stable-2022-08-03' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-6/+10
2022-08-02mm: Convert all PageMovable users to movable_operationsMatthew Wilcox (Oracle)1-80/+22
2022-07-29zsmalloc: zs_malloc: return ERR_PTR on failureHui Zhu1-5/+8
2022-07-03mm: shrinkers: provide shrinkers with namesRoman Gushchin1-1/+2
2022-05-13zsmalloc: fix races between asynchronous zspage free and page migrationSultan Alsawaf1-4/+33
2022-01-22zsmalloc: replace get_cpu_var with local_lockMike Galbraith1-3/+8
2022-01-22zsmalloc: replace per zpage lock with pool->migrate_lockMinchan Kim1-109/+96
2022-01-22zsmalloc: remove zspage isolation for migrationMinchan Kim1-149/+8
2022-01-22zsmalloc: move huge compressed obj from page to zspageMinchan Kim1-24/+26
2022-01-22zsmalloc: introduce obj_allocatedMinchan Kim1-17/+16
2022-01-22zsmalloc: decouple class actions from zspage worksMinchan Kim1-10/+13
2022-01-22zsmalloc: rename zs_stat_type to class_stat_typeMinchan Kim1-12/+12
2022-01-22zsmalloc: introduce some helper functionsMinchan Kim1-31/+23
2022-01-06zsmalloc: Stop using slab fields in struct pageMatthew Wilcox (Oracle)1-9/+9
2021-11-06mm/zsmalloc.c: close race window between zs_pool_dec_isolated() and zs_unregi...Miaohe Lin1-3/+4
2021-07-01mm/zsmalloc.c: improve readability for async_free_zspage()Miaohe Lin1-1/+1
2021-07-01mm/zsmalloc.c: remove confusing code in obj_free()Miaohe Lin1-1/+0
2021-05-07mm: fix typos in commentsIngo Molnar1-1/+1
2021-05-07mm: fix some typos and code style problemsShijie Luo1-2/+2
2021-05-05mm/zsmalloc: use BUG_ON instead of if condition followed by BUG.zhouchuangao1-4/+2
2021-02-26mm/zsmalloc.c: use page_private() to access page->privateMiaohe Lin1-1/+1
2021-02-26zsmalloc: account the number of compacted pages correctlyRokudo Yan1-6/+11
2021-02-26mm/zsmalloc.c: convert to use kmem_cache_zalloc in cache_alloc_zspage()Miaohe Lin1-2/+1
2020-12-15mm/zsmalloc.c: rework the list_add code in insert_zspage()Miaohe Lin1-7/+4
2020-12-06mm/zsmalloc.c: drop ZSMALLOC_PGTABLE_MAPPINGMinchan Kim1-54/+0
2020-10-18zsmalloc: switch from alloc_vm_area to get_vm_areaChristoph Hellwig1-2/+8
2020-08-12mm/zsmalloc.c: fix duplicated wordsRandy Dunlap1-1/+1
2020-06-09mm: reorder includes after introduction of linux/pgtable.hMike Rapoport1-1/+1
2020-06-09mm: introduce include/linux/pgtable.hMike Rapoport1-1/+1
2020-06-02mm: remove map_vm_rangeChristoph Hellwig1-1/+3
2020-06-02mm: rename CONFIG_PGTABLE_MAPPING to CONFIG_ZSMALLOC_PGTABLE_MAPPINGChristoph Hellwig1-4/+4
2020-04-07mm: use fallthrough;Joe Perches1-1/+1
2020-04-07mm/zsmalloc: add missing annotation for unpin_tag()Jules Irenge1-1/+1
2020-04-07mm/zsmalloc: add missing annotation for pin_tag()Jules Irenge1-1/+1
2020-04-07mm/zsmalloc: add missing annotation for migrate_read_unlock()Jules Irenge1-1/+1
2020-04-07mm/zsmalloc: add missing annotation for migrate_read_lock()Jules Irenge1-1/+1
2020-01-04mm/zsmalloc.c: fix the migrated zspage statistics.Chanho Min1-0/+5
2019-09-24mm/zsmalloc.c: fix a -Wunused-function warningQian Cai1-4/+0
2019-09-24zpool: add malloc_support_movable to zpool_driverHui Zhu1-9/+10
2019-08-30mm/zsmalloc.c: fix build when CONFIG_COMPACTION=nAndrew Morton1-0/+2
2019-08-24mm/zsmalloc.c: fix race condition in zs_destroy_poolHenry Burns1-2/+59
2019-08-24mm/zsmalloc.c: migration can leave pages in ZS_EMPTY indefinitelyHenry Burns1-4/+15
2019-07-19Merge branch 'work.mount0' of git://git.kernel.org/pub/scm/linux/kernel/git/v...Linus Torvalds1-8/+4
2019-06-05mm/zsmalloc.c: remove unused variableAnders Roxell1-2/+0
2019-06-03zsmalloc: no need to check return value of debugfs_create functionsGreg Kroah-Hartman1-18/+4
2019-05-25vfs: Convert zsmalloc to use the new mount APIDavid Howells1-4/+4
2019-05-25mount_pseudo(): drop 'name' argument, switch to d_make_root()Al Viro1-1/+1
2019-05-20zsmalloc: don't bother with dentry_operationsAl Viro1-5/+1
2018-10-26mm/zsmalloc.c: fix fall-through annotationGustavo A. R. Silva1-1/+1
2018-08-17mm/zsmalloc.c: make several functions and a struct staticColin Ian King1-18/+18
2018-06-15mm: use octal not symbolic permissionsJoe Perches1-2/+3
2018-04-05mm: kernel-doc: add missing parameter descriptionsMike Rapoport1-0/+2
2018-04-05zsmalloc: introduce zs_huge_class_size()Sergey Senozhatsky1-0/+41
2018-04-05mm: reuse DEFINE_SHOW_ATTRIBUTE() macroAndy Shevchenko1-13/+2
2018-02-14mm/zsmalloc: Prepare to variable MAX_PHYSMEM_BITSKirill A. Shutemov1-6/+7
2018-01-31zsmalloc: use U suffix for negative literals being shiftedNick Desaulniers1-1/+1
2018-01-31zswap: only save zswap header when necessaryYu Zhao1-7/+0
2018-01-31mm/zsmalloc: simplify shrinker init/destroyAliaksei Karaliou1-13/+9
2018-01-04mm/zsmalloc.c: include fs.hSergey Senozhatsky1-0/+1
2017-11-15zsmalloc: calling zs_map_object() from irq is a bugSergey Senozhatsky1-1/+1
2017-09-08mm/zsmalloc.c: change stat type parameter to intMatthias Kaehlcke1-3/+6
2017-09-08mm/migrate: new migrate mode MIGRATE_SYNC_NO_COPYJérôme Glisse1-0/+8
2017-09-06zsmalloc: zs_page_migrate: skip unnecessary loops but not return -EBUSY if zs...Hui Zhu1-3/+5
2017-08-02zram: do not free pool->size_classMinchan Kim1-1/+0
2017-07-10mm/zsmalloc: simplify zs_max_alloc_size handlingJerome Marchand1-37/+15
2017-07-10mm/zsmalloc.c: fix -Wunneeded-internal-declaration warningNick Desaulniers1-1/+1
2017-04-13zsmalloc: expand class bitMinchan Kim1-1/+1
2017-03-02sched/headers: Prepare to remove the <linux/magic.h> include from <linux/sche...Ingo Molnar1-0/+1
2017-02-24mm/zsmalloc: fix comment in zsmallocYisheng Xie1-4/+0
2017-02-24mm/zsmalloc: remove redundant SetPagePrivate2 in create_page_chainYisheng Xie1-5/+1
2017-02-22mm: fix some typos in mm/zsmalloc.cXishi Qiu1-3/+3
2016-12-02mm/zsmalloc: Convert to hotplug state machineSebastian Andrzej Siewior1-54/+13
2016-07-28zsmalloc: Delete an unnecessary check before the function call "iput"Markus Elfring1-2/+1
2016-07-28mm/zsmalloc: use helper to clear page->flags bitGanesh Mahendran1-2/+2
2016-07-28mm/zsmalloc: add __init,__exit attributeGanesh Mahendran1-1/+1
2016-07-28mm/zsmalloc: keep comments consistent with codeGanesh Mahendran1-4/+3
2016-07-28mm/zsmalloc: avoid calculate max objects of zspage twiceGanesh Mahendran1-16/+10
2016-07-28mm/zsmalloc: use class->objs_per_zspage to get num of max objectsGanesh Mahendran1-11/+7
2016-07-28mm/zsmalloc: take obj index back from find_alloced_objGanesh Mahendran1-2/+6
2016-07-28mm/zsmalloc: use obj_index to keep consistent with othersGanesh Mahendran1-7/+7
2016-07-26mm: fix build warnings in <linux/compaction.h>Minchan Kim1-2/+2
2016-07-26mm: add NR_ZSMALLOC to vmstatMinchan Kim1-1/+6
2016-07-26zsmalloc: use OBJ_TAG_BIT for bit shifterMinchan Kim1-6/+6
2016-07-26zsmalloc: page migration supportMinchan Kim1-116/+653
2016-07-26zsmalloc: use freeobj for indexMinchan Kim1-66/+73
2016-07-26zsmalloc: separate free_zspage from putback_zspageMinchan Kim1-16/+11
2016-07-26zsmalloc: introduce zspage structureMinchan Kim1-289/+242
2016-07-26zsmalloc: factor page chain functionality outMinchan Kim1-24/+35
2016-07-26zsmalloc: use accessorMinchan Kim1-22/+60
2016-07-26zsmalloc: use bit_spin_lockMinchan Kim1-7/+3
2016-07-26zsmalloc: keep max_object in size_classMinchan Kim1-17/+15
2016-05-26update "mm/zsmalloc: don't fail if can't create debugfs info"Dan Streetman1-19/+16
2016-05-20mm/zsmalloc: don't fail if can't create debugfs infoDan Streetman1-11/+7
2016-05-20zsmalloc: require GFP in zs_malloc()Sergey Senozhatsky1-11/+13
2016-05-20zsmalloc: remove unused pool param in obj_freeMinchan Kim1-4/+3
2016-05-20zsmalloc: reorder function parametersMinchan Kim1-24/+26
2016-05-20zsmalloc: clean up many BUG_ONMinchan Kim1-27/+15
2016-05-20zsmalloc: use first_page rather than pageMinchan Kim1-30/+32
2016-05-09zsmalloc: fix zs_can_compact() integer overflowSergey Senozhatsky1-2/+5
2016-03-17mm/zsmalloc: add `freeable' column to pool statSergey Senozhatsky1-7/+13
2016-03-17zsmalloc: drop unused member 'mapping_area->huge'YiPing Xu1-6/+3
2016-01-20zsmalloc: fix migrate_zspage-zs_free race conditionJunil Lee1-1/+13
2016-01-15zsmalloc: reorganize struct size_class to pack 4 bytes holeWeijie Yang1-2/+2
2015-11-06zsmalloc: use page->private instead of page->first_pageKirill A. Shutemov1-6/+5
2015-11-06zsmalloc: reduce size_class memory usageSergey Senozhatsky1-4/+13
2015-11-06mm/zsmalloc.c: remove useless line in obj_free()Hui Zhu1-3/+0
2015-11-06zsmalloc: don't test shrinker_enabled in zs_shrinker_count()Sergey Senozhatsky1-3/+0
2015-11-06zsmalloc: use preempt.h for in_interrupt()Sergey Senozhatsky1-1/+1
2015-11-06zsmalloc: fix obj_to_head use page_private(page) as value but not pointerHui Zhu1-1/+1
2015-11-06zsmalloc: add comments for ->inuse to zspageHui Zhu1-0/+1
2015-11-06mm: zsmalloc: constify struct zs_pool nameSergey SENOZHATSKY1-5/+5
2015-09-08mm: zpool: constify the zpool_opsKrzysztof Kozlowski1-1/+2
2015-09-08zsmalloc: remove null check from destroy_handle_cache()Sergey Senozhatsky1-2/+1
2015-09-08zsmalloc: do not take class lock in zs_shrinker_count()Sergey Senozhatsky1-4/+0
2015-09-08zsmalloc: use class->pages_per_zspageMinchan Kim1-3/+2
2015-09-08zsmalloc: consider ZS_ALMOST_FULL as migrate sourceMinchan Kim1-7/+10
2015-09-08zsmalloc: partial page ordering within a fullness_listSergey Senozhatsky1-5/+14
2015-09-08zsmalloc: use shrinker to trigger auto-compactionSergey Senozhatsky1-0/+78
2015-09-08zsmalloc: account the number of compacted pagesSergey Senozhatsky1-10/+17
2015-09-08zsmalloc/zram: introduce zs_pool_stats apiSergey Senozhatsky1-14/+15
2015-09-08zsmalloc: cosmetic compaction code adjustmentsSergey Senozhatsky1-6/+6
2015-09-08zsmalloc: introduce zs_can_compact() functionSergey Senozhatsky1-0/+26
2015-09-08zsmalloc: always keep per-class statsSergey Senozhatsky1-32/+8
2015-09-08zsmalloc: drop unused variable `nr_to_migrate'Sergey Senozhatsky1-4/+0
2015-06-25zpool: remove zpool_evict()Dan Streetman1-1/+2
2015-06-25zsmalloc: remove obsolete ZSMALLOC_DEBUGMarcin Jabrzyk1-4/+0
2015-06-10zsmalloc: fix a null pointer dereference in destroy_handle_cache()Sergey Senozhatsky1-1/+2
2015-04-15zsmalloc: remove extra cond_resched() in __zs_compactSergey Senozhatsky1-2/+0
2015-04-15zsmalloc: fix fatal corruption due to wrong size class selectionHeesub Shin1-5/+0
2015-04-15zsmalloc: remove unnecessary insertion/removal of zspage in compactionMinchan Kim1-3/+3
2015-04-15zsmalloc: micro-optimize zs_object_copy()Sergey Senozhatsky1-8/+7
2015-04-15zsmalloc: remove synchronize_rcu from zs_compact()Sergey Senozhatsky1-2/+0
2015-04-15mm/zsmalloc.c: fix comment for get_pages_per_zspageYinghao Xie1-1/+2
2015-04-15zsmalloc: zsmalloc documentationMinchan Kim1-29/+0
2015-04-15zsmalloc: add fullness into statMinchan Kim1-165/+184
2015-04-15zsmalloc: record handle in page->private for huge objectMinchan Kim1-12/+42
2015-04-15zsmalloc: adjust ZS_ALMOST_FULLMinchan Kim1-1/+1
2015-04-15zsmalloc: support compactionMinchan Kim1-19/+359
2015-04-15zsmalloc: factor out obj_[malloc|free]Minchan Kim1-38/+60
2015-04-15zsmalloc: decouple handle and objectMinchan Kim1-28/+98
2015-02-12mm/zsmalloc: add statistics supportGanesh Mahendran1-4/+229
2015-02-12mm/zpool: add name argument to create zpoolGanesh Mahendran1-3/+3
2014-12-18mm/zsmalloc: adjust order of functionsGanesh Mahendran1-187/+187
2014-12-13mm/zsmalloc: allocate exactly size of struct zs_poolGanesh Mahendran1-3/+2
2014-12-13mm/zsmalloc: avoid duplicate assignment of prev_classGanesh Mahendran1-5/+4
2014-12-13mm/zsmalloc: support allocating obj with size of ZS_MAX_ALLOC_SIZEMahendran Ganesh1-6/+32
2014-12-13zsmalloc: correct fragile [kmap|kunmap]_atomic useMinchan Kim1-9/+12
2014-12-13zsmalloc: fix zs_init cpu notifier error handlingSergey Senozhatsky1-15/+24
2014-12-13zsmalloc: merge size_class to reduce fragmentationJoonsoo Kim1-14/+66
2014-10-09zsmalloc: simplify init_zspage free obj linkingDan Streetman1-9/+5
2014-10-09mm/zsmalloc.c: correct comment for fullness group computationWang Sheng-Hui1-1/+1
2014-10-09zsmalloc: change return value unit of zs_get_total_size_bytesMinchan Kim1-5/+4
2014-10-09zsmalloc: move pages_allocated to zs_poolMinchan Kim1-15/+8
2014-08-29mm/zpool: use prefixed module loadingKees Cook1-0/+1
2014-08-06mm/zpool: zbud/zsmalloc implement zpoolDan Streetman1-0/+85
2014-08-06mm/zpool: implement common zpool api to zbud/zsmallocDan Streetman1-1/+0