This is a cleanup series (first 7 patches) is trying to simplify the memcg stock code, particularly it tries to remove unnecessary dependencies. The last 3 patches are a prototype to make per-cpu memcg stock work without disabling irqs. My plan is to send out the first 7 cleanup patches separately for the next release window and iterate more on the last 3 patches plus add functionality for multiple memcgs. This series is based on next-20250313 plus two following patches: Link: https://lore.kernel.org/all/20250312222552.3284173-1-shakeel.butt@xxxxxxxxx/ Link: https://lore.kernel.org/all/20250313054812.2185900-1-shakeel.butt@xxxxxxxxx/ to simply the memcg stock code Shakeel Butt (10): memcg: remove root memcg check from refill_stock memcg: decouple drain_obj_stock from local stock memcg: introduce memcg_uncharge memcg: manually inline __refill_stock memcg: no refilling stock from obj_cgroup_release memcg: do obj_cgroup_put inside drain_obj_stock memcg: use __mod_memcg_state in drain_obj_stock memcg: assert in_task for couple of local_lock holders memcg: trylock stock for objcg memcg: no more irq disabling for stock locks mm/memcontrol.c | 201 +++++++++++++++++++++++++++--------------------- 1 file changed, 112 insertions(+), 89 deletions(-) -- 2.47.1