aboutsummaryrefslogtreecommitdiffstats
path: root/mm/memcontrol.c
AgeCommit message (Expand)AuthorFilesLines
2025-05-27Merge tag 'cgroup-for-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-2/+2
2025-05-25memcg: always call cond_resched() after fn()Breno Leitao1-4/+2
2025-04-11locking/local_lock, mm: replace localtry_ helpers with local_trylock_t typeAlexei Starovoitov1-20/+19
2025-04-04cgroup: change rstat function signatures from cgroup-based to css-basedJP Kobryn1-2/+2
2025-04-01Merge tag 'mm-stable-2025-03-30-16-52' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-164/+130
2025-03-30Merge tag 'bpf_try_alloc_pages' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-18/+39
2025-03-21mm: vmscan: split proactive reclaim statistics from direct reclaim statisticsHao Jia1-0/+7
2025-03-21mm: remove references to folio in __memcg_kmem_uncharge_page()Matthew Wilcox (Oracle)1-5/+3
2025-03-21mm: remove references to folio in split_page_memcg()Matthew Wilcox (Oracle)1-7/+23
2025-03-21mm: simplify split_page_memcg()Matthew Wilcox (Oracle)1-8/+7
2025-03-21mm: separate folio_split_memcg_refs() from split_page_memcg()Matthew Wilcox (Oracle)1-4/+13
2025-03-21memcg: avoid refill_stock for root memcgShakeel Butt1-1/+2
2025-03-17memcg: bypass root memcg check for skmem chargingShakeel Butt1-1/+1
2025-03-17page_counter: track failcnt only for legacy cgroupsShakeel Butt1-2/+10
2025-03-17memcg: don't call propagate_protected_usage() for v1Shakeel Butt1-2/+3
2025-03-16mm: memcontrol: move memsw charge callbacks to v1Johannes Weiner1-110/+19
2025-03-16mm: memcontrol: unshare v2-only charge API bits againJohannes Weiner1-4/+13
2025-03-16memcg: add CONFIG_MEMCG_V1 for 'local' functionsChen Ridong1-0/+6
2025-03-16memcg: factor out the replace_stock_objcg functionChen Ridong1-10/+16
2025-03-16memcg: call the free function when allocation of pn failsChen Ridong1-15/+12
2025-03-16memcg: use OFP_PEAK_UNSET instead of -1Chen Ridong1-1/+1
2025-03-16memcg: drain obj stock on cpu hotplug teardownShakeel Butt1-0/+9
2025-03-16mm: memcontrol: fix swap counter leak from offline cgroupMuchun Song1-2/+2
2025-02-27memcg: Use trylock to access memcg stock_lock.Alexei Starovoitov1-16/+37
2025-02-17memcg: avoid dead loop when setting memory.maxChen Ridong1-0/+1
2025-01-25memcg: fix soft lockup in the OOM processChen Ridong1-1/+6
2025-01-25mm/swap_cgroup: decouple swap cgroup recording and clearingKairui Song1-8/+5
2025-01-25mm, memcontrol: avoid duplicated memcg enable checkKairui Song1-1/+1
2025-01-13memcg/hugetlb: remove memcg hugetlb try-commit-cancel protocolJoshua Hahn1-62/+3
2025-01-13memcg/hugetlb: introduce mem_cgroup_charge_hugetlbJoshua Hahn1-0/+34
2025-01-13memcg/hugetlb: introduce memcg_accounts_hugetlbJoshua Hahn1-3/+14
2024-11-14memcg/hugetlb: add hugeTLB counters to memcgJoshua Hahn1-0/+11
2024-11-11mm/list_lru: split the lock to per-cgroup scopeKairui Song1-1/+6
2024-11-11mm/list_lru: code clean up for reparentingKairui Song1-7/+0
2024-11-11memcg: add flush tracepointJP Kobryn1-1/+6
2024-11-11memcg: rename do_flush_stats and add force flagJP Kobryn1-9/+8
2024-11-11Merge branch 'mm-hotfixes-stable' into mm-stableAndrew Morton1-0/+4
2024-11-11mm: count zeromap read and set for swapout and swapinBarry Song1-0/+4
2024-11-07memcg: factor out mem_cgroup_stat_aggregate()Xiu Jianfeng1-59/+70
2024-11-06memcg-v1: remove memcg move locking codeShakeel Butt1-5/+0
2024-11-06memcg-v1: remove charge move codeShakeel Butt1-9/+0
2024-11-06mm/memcontrol: fix seq_buf size to save memory when PAGE_SIZE is largeRyan Roberts1-4/+5
2024-11-06memcg: add tracing for memcg stat updatesShakeel Butt1-2/+11
2024-11-05mm/memcontrol: add per-memcg pgpgin/pswpin counterJingxiang Zeng1-0/+2
2024-11-05mm/thp: fix deferred split unqueue naming and lockingHugh Dickins1-3/+5
2024-11-05mm/thp: fix deferred split queue not partially_mappedHugh Dickins1-2/+1
2024-09-21Merge tag 'mm-stable-2024-09-20-02-31' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-234/+256
2024-09-17mm: add nr argument in mem_cgroup_swapin_uncharge_swap() helper to support la...Barry Song1-3/+4
2024-09-09mm: clean up mem_cgroup_iter()Kinsey Ho1-20/+12
2024-09-09mm: restart if multiple traversals racedKinsey Ho1-9/+17
2024-09-09mm: increment gen # before restarting traversalKinsey Ho1-10/+12
2024-09-09mm: don't hold css->refcnt during traversalKinsey Ho1-17/+1
2024-09-09mm: introduce a pageflag for partially mapped foliosUsama Arif1-1/+2
2024-09-03mm,memcg: provide per-cgroup counters for NUMA balancing operationsKaiyang Zhao1-0/+45
2024-09-01memcg: make PGPGIN and PGPGOUT v1 onlyShakeel Butt1-1/+4
2024-09-01memcg: move v1 events and statistics code to v1 fileShakeel Butt1-29/+4
2024-09-01memcg: move mem_cgroup_charge_statistics to v1 codeShakeel Butt1-16/+3
2024-09-01memcg: move mem_cgroup_event_ratelimit to v1 codeShakeel Butt1-28/+0
2024-09-01memcg: move v1 only percpu stats in separate structShakeel Butt1-9/+9
2024-09-01mm: kmem: add lockdep assertion to obj_cgroup_memcgMuchun Song1-6/+5
2024-09-01memcg: replace memcg ID idr with xarrayShakeel Butt1-29/+10
2024-09-01mm, memcg: cg2 memory{.swap,}.peak write handlersDavid Finkel1-10/+106
2024-09-01mm: memcg: don't call propagate_protected_usage() needlesslyRoman Gushchin1-8/+8
2024-09-01memcg: increase the valid index range for memcg statsShakeel Butt1-22/+28
2024-09-01mm: kmem: remove mem_cgroup_from_obj()Muchun Song1-31/+1
2024-09-01mm/memcontrol: respect zswap.writeback setting from parent cg tooMike Yuan1-3/+9
2024-08-07memcg: protect concurrent access to mem_cgroup_idrShakeel Butt1-2/+20
2024-07-12mm/page_counter: move calculating protection values to page_counterMaarten Lankhorst1-151/+3
2024-07-10mm: remove CONFIG_MEMCG_KMEMJohannes Weiner1-54/+6
2024-07-06Merge branch 'mm-hotfixes-stable' into mm-stable to pick up "mm: fixAndrew Morton1-11/+0
2024-07-06mm: fix crashes from deferred split racing folio migrationHugh Dickins1-11/+0
2024-07-04mm: memcg: adjust the warning when seq_buf overflowsXiu Jianfeng1-1/+2
2024-07-04mm: memcg: remove redundant seq_buf_has_overflowed()Xiu Jianfeng1-3/+0
2024-07-04mm: memcg: guard memcg1-specific fields accesses in mm/memcontrol.cRoman Gushchin1-2/+7
2024-07-04mm: memcg: gather memcg1-specific fields initialization in memcg1_memcg_init()Roman Gushchin1-5/+1
2024-07-04mm: memcg: guard cgroup v1-specific code in mem_cgroup_print_oom_meminfo()Roman Gushchin1-0/+2
2024-07-04mm: memcg: factor out legacy socket memory accounting codeRoman Gushchin1-17/+5
2024-07-04mm: memcg: move memcg_account_kmem() to memcontrol-v1.cRoman Gushchin1-21/+10
2024-07-04mm: add swappiness= arg to memory.reclaimDan Schatzberg1-9/+44
2024-07-04mm: memcg: put cgroup v1-specific code under a config optionRoman Gushchin1-3/+7
2024-07-04mm: memcg: move cgroup v1 interface files to memcontrol-v1.cRoman Gushchin1-742/+7
2024-07-04mm: memcg: rename memcg_oom_recover()Roman Gushchin1-3/+3
2024-07-04mm: memcg: move cgroup v1 oom handling code into memcontrol-v1.cRoman Gushchin1-214/+2
2024-07-04mm: memcg: rename memcg_check_events()Roman Gushchin1-4/+4
2024-07-04mm: memcg: move legacy memcg event code into memcontrol-v1.cRoman Gushchin1-682/+5
2024-07-04mm: memcg: rename charge move-related functionsRoman Gushchin1-4/+4
2024-07-04mm: memcg: move charge migration code to memcontrol-v1.cRoman Gushchin1-996/+8
2024-07-04mm: memcg: rename soft limit reclaim-related functionsRoman Gushchin1-2/+2
2024-07-04mm: memcg: move soft limit reclaim code to memcontrol-v1.cRoman Gushchin1-333/+4
2024-07-03mm: memcontrol: add VM_BUG_ON_FOLIO() to catch lru folio in mem_cgroup_migrate()Baolin Wang1-0/+1
2024-07-03mm: zswap: rename is_zswap_enabled() to zswap_is_enabled()Yosry Ahmed1-1/+1
2024-07-03mm: memcontrol: remove page_memcg()Kefeng Wang1-1/+1
2024-07-03mm/swap: reduce swap cache search spaceKairui Song1-1/+1
2024-06-15mm: shmem: fix getting incorrect lruvec when replacing a shmem folioBaolin Wang1-2/+1
2024-06-05memcg: remove the lockdep assert from __mod_objcg_mlstate()Sebastian Andrzej Siewior1-2/+0
2024-05-11memcg, oom: cleanup unused memcg_oom_gfp_mask and memcg_oom_orderXiu Jianfeng1-2/+0
2024-05-11mm: memcg: make alloc_mem_cgroup_per_node_info() return boolXiu Jianfeng1-5/+5
2024-05-07mm: memcg: use READ_ONCE()/WRITE_ONCE() to access stock->nr_pagesBreno Leitao1-9/+15
2024-05-07memcg: use proper type for mod_memcg_stateShakeel Butt1-1/+2
2024-05-07memcg: warn for unexpected events and statsShakeel Butt1-16/+23
2024-05-07memcg: cleanup __mod_memcg_lruvec_stateShakeel Butt1-2/+0
2024-05-07memcg: reduce memory for the lruvec and memcg statsShakeel Butt1-20/+114
2024-05-07mm: memcg: account memory used for memcg vmstats and lruvec statsRoman Gushchin1-3/+4
2024-05-07memcg: dynamically allocate lruvec_statsShakeel Butt1-12/+75
2024-05-07memcg: reduce memory size of mem_cgroup_events_indexShakeel Butt1-2/+4
2024-05-05memcg: fix data-race KCSAN bug in rstatsBreno Leitao1-5/+7
2024-05-05memcg: simple cleanup of stats update functionsShakeel Butt1-16/+15
2024-04-25mm, slab: move slab_memcg hooks to mm/memcontrol.cVlastimil Babka1-0/+90
2024-04-25mm, slab: move memcg charging to post-alloc hookVlastimil Babka1-1/+1
2024-04-25mm: always initialise folio->_deferred_listMatthew Wilcox (Oracle)1-0/+3
2024-04-25mm: introduce slabobj_ext to support slab object extensionsSuren Baghdasaryan1-49/+7
2024-04-25mm: memcg: add NULL check to obj_cgroup_put()Yosry Ahmed1-12/+6
2024-03-04memcg: remove mem_cgroup_uncharge_list()Matthew Wilcox (Oracle)1-19/+0
2024-03-04memcg: add mem_cgroup_uncharge_folios()Matthew Wilcox (Oracle)1-0/+13
2024-03-04mm: memcg: make memcg huge page split support any order splitZi Yan1-5/+6
2024-03-04mm/memcg: use order instead of nr in split_page_memcg()Zi Yan1-1/+2
2024-02-22mm: memcg: use larger batches for proactive reclaimT.J. Mercier1-2/+3
2024-02-22mm: memcg: don't periodically flush stats when memcg is disabledT.J. Mercier1-1/+1
2024-02-22mm: writeback: ratelimit stat flush from mem_cgroup_wb_statsShakeel Butt1-1/+1
2024-02-21memcg: use a folio in get_mctgt_type_thpMatthew Wilcox (Oracle)1-5/+7
2024-02-21memcg: use a folio in get_mctgt_typeMatthew Wilcox (Oracle)1-10/+13
2024-02-21memcg: return the folio in union mc_targetMatthew Wilcox (Oracle)1-7/+7
2024-02-21memcg: convert mem_cgroup_move_charge_pte_range() to use a folioMatthew Wilcox (Oracle)1-25/+24
2024-02-20mm: memcontrol: clarify swapaccount=0 deprecation warningJohannes Weiner1-3/+7
2024-02-07mm: memcg: optimize parent iteration in memcg_rstat_updated()Yosry Ahmed1-21/+35
2024-01-25mm: memcontrol: don't throttle dying tasks on memory.highJohannes Weiner1-4/+25
2024-01-09Merge tag 'mm-stable-2024-01-08-15-31' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-123/+196
2024-01-09Merge tag 'slab-for-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/vba...Linus Torvalds1-3/+3
2024-01-08Merge tag 'vfs-6.8.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs...Linus Torvalds1-5/+5
2024-01-05mm/memcontrol: remove __mod_lruvec_page_state()Matthew Wilcox (Oracle)1-5/+4
2023-12-29zswap: memcontrol: implement zswap writeback disablingNhat Pham1-0/+38
2023-12-29mm: memcg: fix split queue list crash when large folio migrationBaolin Wang1-0/+11
2023-12-20mm: memcg: restore subtree stats flushingYosry Ahmed1-29/+39
2023-12-20mm: memcg: make stats flushing threshold per-memcgYosry Ahmed1-16/+34
2023-12-20mm: memcg: move vmstats structs definition above flushing codeYosry Ahmed1-74/+74
2023-12-20mm: memcg: change flush_next_time to flush_last_timeYosry Ahmed1-3/+4
2023-12-12mm: memcg: add per-memcg zswap writeback statDomenico Cerasuolo1-0/+1
2023-12-12zswap: make shrinking memcg-awareDomenico Cerasuolo1-0/+2
2023-12-10mm: memcg: add reminder comment for the memcg v2 eventsDmitry Rokosov1-0/+4
2023-12-06mm: kmem: properly initialize local objcg variable in current_obj_cgroup()Roman Gushchin1-1/+1
2023-12-06mm/slab: move pre/post-alloc hooks from slab.h to slub.cVlastimil Babka1-0/+1
2023-12-05mm/memcontrol: remove CONFIG_SLAB #ifdef guardsVlastimil Babka1-3/+2
2023-11-28eventfd: simplify eventfd_signal()Christian Brauner1-5/+5
2023-11-15mm: kmem: drop __GFP_NOFAIL when allocating objcg vectorsRoman Gushchin1-1/+2
2023-10-25mm: fix multiple typos in multiple filesMuhammad Muzammil1-2/+2
2023-10-25mm: kmem: reimplement get_obj_cgroup_from_current()Roman Gushchin1-32/+0
2023-10-25mm: kmem: scoped objcg protectionRoman Gushchin1-2/+45
2023-10-25mm: kmem: make memcg keep a reference to the original objcgRoman Gushchin1-0/+5
2023-10-25mm: kmem: add direct objcg pointer to task_structRoman Gushchin1-9/+130
2023-10-25mm: kmem: optimize get_obj_cgroup_from_current()Roman Gushchin1-20/+14
2023-10-18hugetlb: memcg: account hugetlb-backed memory in memory controllerNhat Pham1-1/+41
2023-10-18memcontrol: only transfer the memcg data for migrationNhat Pham1-3/+37
2023-10-18memcontrol: add helpers for hugetlb memcg accountingNhat Pham1-12/+47
2023-10-18mm: memcg: normalize the value passed into memcg_rstat_updated()Yosry Ahmed1-2/+18
2023-10-18mm: memcg: refactor page state unit helpersYosry Ahmed1-11/+33
2023-10-06memcg: remove unused do_memsw_account in memcg1_stat_formatLiu Shixin1-7/+2
2023-10-06memcg: expose swapcache stat for memcg v1Liu Shixin1-0/+6
2023-10-04mm: memcg: add THP swap out info for anonymous reclaimXin Hao1-0/+2
2023-09-29mm, memcg: reconsider kmem.limit_in_bytes deprecationMichal Hocko1-0/+13
2023-09-19mm: memcontrol: fix GFP_NOFS recursion in memory.high enforcementJohannes Weiner1-3/+3
2023-09-05memcontrol: ensure memcg acquired by id is properly set upJohannes Weiner1-5/+17
2023-08-24mm: fix get_mctgt_type() kernel-docMatthew Wilcox (Oracle)1-18/+13
2023-08-24memcg: remove duplication detection for mem_cgroup_uncharge_swapLu Jialin1-3/+0
2023-08-24mm: memcg: use rstat for non-hierarchical statsYosry Ahmed1-29/+38
2023-08-21mm: remove folio_test_transhuge()Matthew Wilcox (Oracle)1-1/+1
2023-08-21merge mm-hotfixes-stable into mm-stable to pick up depended-upon changesAndrew Morton1-0/+2
2023-08-21mm: remove redundant K() macro definitionZhangPeng1-1/+0
2023-08-21mm/memcg: fix wrong function name above obj_cgroup_charge_zswap()Miaohe Lin1-1/+1
2023-08-21mm:vmscan: fix inaccurate reclaim during proactive reclaimEfly Young1-2/+2
2023-08-21memcg: convert get_obj_cgroup_from_page to get_obj_cgroup_from_folioMatthew Wilcox (Oracle)1-4/+4
2023-08-21mm: enable page walking API to lock vmas during the walkSuren Baghdasaryan1-0/+2
2023-08-18mm/memcg: minor cleanup for mc_handle_present_pte()Miaohe Lin1-3/+2
2023-08-18mm/memcg: fix obsolete comment above MEM_CGROUP_MAX_RECLAIM_LOOPSMiaohe Lin1-1/+1
2023-08-18mm/memcg: minor cleanup for MEM_CGROUP_ID_MAXMiaohe Lin1-0/+1
2023-08-18memcg: drop kmem.limit_in_bytesMichal Hocko1-10/+0
2023-06-23mm/memcontrol: do not tweak node in mem_cgroup_init()Haifeng Xu1-2/+1
2023-06-19mm/memcg: remove return value of mem_cgroup_scan_tasks()ZhangPeng1-5/+4
2023-06-19mm: kill lock|unlock_page_memcg()Kefeng Wang1-14/+4
2023-06-19mm: ptep_get() conversionRyan Roberts1-2/+2
2023-06-19mm/various: give up if pte_offset_map[_lock]() failsHugh Dickins1-4/+4
2023-06-09memcg: use helper macro FLUSH_TIMEMiaohe Lin1-1/+1
2023-06-09mm/memcontrol: export memcg.swap watermark via sysfs for v2 memcgLars R. Damerow1-0/+13
2023-06-09mm: multi-gen LRU: cleanup lru_gen_soft_reclaim()T.J. Alumbaugh1-1/+1
2023-06-09mm/memcontrol: fix typo in commentHaifeng Xu1-1/+1
2023-06-09memcg, oom: remove explicit wakeup in mem_cgroup_oom_synchronize()Haifeng Xu1-8/+1
2023-06-09memcg, oom: remove unnecessary check in mem_cgroup_oom_synchronize()Haifeng Xu1-10/+3
2023-06-09memcg: remove mem_cgroup_flush_stats_atomic()Yosry Ahmed1-19/+5
2023-06-09memcg: calculate root usage from global stateYosry Ahmed1-19/+5
2023-06-09memcg: flush stats non-atomically in mem_cgroup_wb_stats()Yosry Ahmed1-5/+1
2023-06-09memcg: dump memory.stat during cgroup OOM for v1Yosry Ahmed1-25/+35
2023-06-09memcg: use seq_buf_do_printk() with mem_cgroup_print_oom_meminfo()Yosry Ahmed1-13/+14
2023-06-09mm: memcg: use READ_ONCE()/WRITE_ONCE() to access stock->cachedRoman Gushchin1-6/+6
2023-06-09mm: kmem: fix a NULL pointer dereference in obj_stock_flush_required()Roman Gushchin1-9/+10
2023-04-18memcg: page_cgroup_ino() get memcg from the page's folioYosry Ahmed1-1/+2
2023-04-18memcg v1: provide read access to memory.pressure_levelFlorian Schmidt1-0/+11
2023-04-18memcg: do not modify rstat tree for zero updatesYosry Ahmed1-0/+3
2023-04-18workingset: memcg: sleep when flushing stats in workingset_refault()Yosry Ahmed1-2/+2
2023-04-18memcg: sleep during flushing stats in safe contextsYosry Ahmed1-9/+36
2023-04-18memcg: replace stats_flush_lock with an atomicYosry Ahmed1-7/+11
2023-04-18memcg: do not flush stats in irq contextYosry Ahmed1-1/+15