mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 08:33:17 +02:00
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>
This commit is contained in:
parent
bc730030f9
commit
ac26920d58
|
|
@ -2763,17 +2763,6 @@ void __memcg_kmem_uncharge_page(struct page *page, int order)
|
|||
obj_cgroup_put(objcg);
|
||||
}
|
||||
|
||||
/* Replace the stock objcg with objcg, return the old objcg */
|
||||
static void replace_stock_objcg(struct memcg_stock_pcp *stock,
|
||||
struct obj_cgroup *objcg)
|
||||
{
|
||||
drain_obj_stock(stock);
|
||||
obj_cgroup_get(objcg);
|
||||
stock->nr_bytes = atomic_read(&objcg->nr_charged_bytes)
|
||||
? atomic_xchg(&objcg->nr_charged_bytes, 0) : 0;
|
||||
WRITE_ONCE(stock->cached_objcg, objcg);
|
||||
}
|
||||
|
||||
static void __account_obj_stock(struct obj_cgroup *objcg,
|
||||
struct memcg_stock_pcp *stock, int nr,
|
||||
struct pglist_data *pgdat, enum node_stat_item idx)
|
||||
|
|
@ -2934,7 +2923,12 @@ static void refill_obj_stock(struct obj_cgroup *objcg, unsigned int nr_bytes,
|
|||
|
||||
stock = this_cpu_ptr(&memcg_stock);
|
||||
if (READ_ONCE(stock->cached_objcg) != objcg) { /* reset if necessary */
|
||||
replace_stock_objcg(stock, objcg);
|
||||
drain_obj_stock(stock);
|
||||
obj_cgroup_get(objcg);
|
||||
stock->nr_bytes = atomic_read(&objcg->nr_charged_bytes)
|
||||
? atomic_xchg(&objcg->nr_charged_bytes, 0) : 0;
|
||||
WRITE_ONCE(stock->cached_objcg, objcg);
|
||||
|
||||
allow_uncharge = true; /* Allow uncharge when objcg changes */
|
||||
}
|
||||
stock->nr_bytes += nr_bytes;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user