Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

memcg: manually inline replace_stock_objcg

The replace_stock_objcg() is being called by only refill_obj_stock, so
manually inline it.

Link: https://lkml.kernel.org/r/20250404013913.1663035-10-shakeel.butt@linux.dev
Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev>
Reviewed-by: Roman Gushchin <roman.gushchin@linux.dev>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

authored by

Shakeel Butt and committed by
Andrew Morton
ac26920d bc730030

+6 -12
+6 -12
mm/memcontrol.c
··· 2763 2763 obj_cgroup_put(objcg); 2764 2764 } 2765 2765 2766 - /* Replace the stock objcg with objcg, return the old objcg */ 2767 - static void replace_stock_objcg(struct memcg_stock_pcp *stock, 2768 - struct obj_cgroup *objcg) 2769 - { 2770 - drain_obj_stock(stock); 2771 - obj_cgroup_get(objcg); 2772 - stock->nr_bytes = atomic_read(&objcg->nr_charged_bytes) 2773 - ? atomic_xchg(&objcg->nr_charged_bytes, 0) : 0; 2774 - WRITE_ONCE(stock->cached_objcg, objcg); 2775 - } 2776 - 2777 2766 static void __account_obj_stock(struct obj_cgroup *objcg, 2778 2767 struct memcg_stock_pcp *stock, int nr, 2779 2768 struct pglist_data *pgdat, enum node_stat_item idx) ··· 2923 2934 2924 2935 stock = this_cpu_ptr(&memcg_stock); 2925 2936 if (READ_ONCE(stock->cached_objcg) != objcg) { /* reset if necessary */ 2926 - replace_stock_objcg(stock, objcg); 2937 + drain_obj_stock(stock); 2938 + obj_cgroup_get(objcg); 2939 + stock->nr_bytes = atomic_read(&objcg->nr_charged_bytes) 2940 + ? atomic_xchg(&objcg->nr_charged_bytes, 0) : 0; 2941 + WRITE_ONCE(stock->cached_objcg, objcg); 2942 + 2927 2943 allow_uncharge = true; /* Allow uncharge when objcg changes */ 2928 2944 } 2929 2945 stock->nr_bytes += nr_bytes;