* [withdrawn] memcg-decouple-memcg_hotplug_cpu_dead-from-stock_lock.patch removed from -mm tree
@ 2025-04-16 2:16 Andrew Morton
0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2025-04-16 2:16 UTC (permalink / raw)
To: mm-commits, vbabka, roman.gushchin, muchun.song, mhocko, hannes,
shakeel.butt, akpm
The quilt patch titled
Subject: memcg: decouple memcg_hotplug_cpu_dead from stock_lock
has been removed from the -mm tree. Its filename was
memcg-decouple-memcg_hotplug_cpu_dead-from-stock_lock.patch
This patch was dropped because it was withdrawn
------------------------------------------------------
From: Shakeel Butt <shakeel.butt@linux.dev>
Subject: memcg: decouple memcg_hotplug_cpu_dead from stock_lock
Date: Thu, 10 Apr 2025 14:06:23 -0700
memcg_hotplug_cpu_dead() works on the stock of a remote dead CPU and
drain_obj_stock() works on the given stock instead of local stock, so
there is no need to take local stock_lock anymore.
[akpm@linux-foundation.org: fix build: s/flag/flags/ in memcg_hotplug_cpu_dead]
Link: https://lkml.kernel.org/r/20250410210623.1016767-1-shakeel.butt@linux.dev
Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev>
Acked-by: Roman Gushchin <roman.gushchin@linux.dev>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
mm/memcontrol.c | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
--- a/mm/memcontrol.c~memcg-decouple-memcg_hotplug_cpu_dead-from-stock_lock
+++ a/mm/memcontrol.c
@@ -1791,7 +1791,7 @@ static DEFINE_PER_CPU(struct memcg_stock
};
static DEFINE_MUTEX(percpu_charge_mutex);
-static void drain_obj_stock(struct memcg_stock_pcp *stock);
+static void __drain_obj_stock(struct memcg_stock_pcp *stock);
static bool obj_stock_flush_required(struct memcg_stock_pcp *stock,
struct mem_cgroup *root_memcg);
@@ -1875,7 +1875,7 @@ static void drain_local_stock(struct wor
local_lock_irqsave(&memcg_stock.stock_lock, flags);
stock = this_cpu_ptr(&memcg_stock);
- drain_obj_stock(stock);
+ __drain_obj_stock(stock);
drain_stock(stock);
clear_bit(FLUSHING_CACHED_CHARGE, &stock->flags);
@@ -1966,10 +1966,10 @@ static int memcg_hotplug_cpu_dead(unsign
stock = &per_cpu(memcg_stock, cpu);
- /* drain_obj_stock requires stock_lock */
- local_lock_irqsave(&memcg_stock.stock_lock, flags);
- drain_obj_stock(stock);
- local_unlock_irqrestore(&memcg_stock.stock_lock, flags);
+ local_irq_save(flags);
+ /* stock of a remote dead cpu, no need for stock_lock. */
+ __drain_obj_stock(stock);
+ local_irq_restore(flags);
drain_stock(stock);
@@ -2839,7 +2839,11 @@ static bool consume_obj_stock(struct obj
return ret;
}
-static void drain_obj_stock(struct memcg_stock_pcp *stock)
+/*
+ * Works on the given stock. The callers are responsible for the proper locking
+ * for the local or remote stocks.
+ */
+static void __drain_obj_stock(struct memcg_stock_pcp *stock)
{
struct obj_cgroup *old = READ_ONCE(stock->cached_objcg);
@@ -2927,7 +2931,7 @@ static void refill_obj_stock(struct obj_
stock = this_cpu_ptr(&memcg_stock);
if (READ_ONCE(stock->cached_objcg) != objcg) { /* reset if necessary */
- drain_obj_stock(stock);
+ __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;
_
Patches currently in -mm which might be from shakeel.butt@linux.dev are
memcg-vmalloc-simplify-memcg_vmalloc-updates.patch
memcg-vmalloc-simplify-memcg_vmalloc-updates-fix.patch
memcg-remove-root-memcg-check-from-refill_stock.patch
memcg-decouple-drain_obj_stock-from-local-stock.patch
memcg-introduce-memcg_uncharge.patch
memcg-manually-inline-__refill_stock.patch
memcg-no-refilling-stock-from-obj_cgroup_release.patch
memcg-do-obj_cgroup_put-inside-drain_obj_stock.patch
memcg-use-__mod_memcg_state-in-drain_obj_stock.patch
memcg-manually-inline-replace_stock_objcg.patch
memcg-optimize-memcg_rstat_updated.patch
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-04-16 2:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-16 2:16 [withdrawn] memcg-decouple-memcg_hotplug_cpu_dead-from-stock_lock.patch removed from -mm tree Andrew Morton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.