linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] memcg: Remove the lockdep assert from __mod_objcg_mlstate().
@ 2024-05-28 12:19 Sebastian Andrzej Siewior
  2024-05-28 12:34 ` Vlastimil Babka (SUSE)
  0 siblings, 1 reply; 13+ messages in thread
From: Sebastian Andrzej Siewior @ 2024-05-28 12:19 UTC (permalink / raw)
  To: Vlastimil Babka (SUSE)
  Cc: Shakeel Butt, Andrew Morton, Johannes Weiner, Michal Hocko,
	Roman Gushchin, Muchun Song, linux-mm, linux-kernel,
	Thomas Gleixner

The assert was introduced in the commit cited below as an insurance that
the semantic is the same after the local_irq_save() has been removed and
the function has been made static.

The original requirement to disable interrupt was due the modification
of per-CPU counters which require interrupts to be disabled because the
counter update operation is not atomic and some of the counters are
updated from interrupt context.

All callers of __mod_objcg_mlstate() acquire a lock
(memcg_stock.stock_lock) which disables interrupts on !PREEMPT_RT and
the lockdep assert is satisfied. On PREEMPT_RT the interrupts are not
disabled and the assert triggers.

The safety of the counter update is already ensured by
VM_WARN_ON_IRQS_ENABLED() which is part of memcg_stats_lock() and does
not require yet another check.

Remove the lockdep assert from __mod_objcg_mlstate().

Fixes: 91882c1617c15 ("memcg: simple cleanup of stats update functions")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
 mm/memcontrol.c |    2 --
 1 file changed, 2 deletions(-)

--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -3147,8 +3147,6 @@ static inline void __mod_objcg_mlstate(s
 	struct mem_cgroup *memcg;
 	struct lruvec *lruvec;
 
-	lockdep_assert_irqs_disabled();
-
 	rcu_read_lock();
 	memcg = obj_cgroup_memcg(objcg);
 	lruvec = mem_cgroup_lruvec(memcg, pgdat);


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-05-29  9:17 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-28 12:19 [PATCH] memcg: Remove the lockdep assert from __mod_objcg_mlstate() Sebastian Andrzej Siewior
2024-05-28 12:34 ` Vlastimil Babka (SUSE)
2024-05-28 13:40   ` Sebastian Andrzej Siewior
2024-05-28 13:44     ` Vlastimil Babka (SUSE)
2024-05-28 14:13       ` [PATCH v2] " Sebastian Andrzej Siewior
2024-05-28 14:19         ` Vlastimil Babka (SUSE)
2024-05-28 14:59         ` Shakeel Butt
2024-05-28 15:07           ` Vlastimil Babka (SUSE)
2024-05-28 16:21             ` Shakeel Butt
2024-05-28 15:08           ` Sebastian Andrzej Siewior
2024-05-28 16:20             ` Shakeel Butt
2024-05-28 16:21         ` Shakeel Butt
2024-05-29  9:16         ` Michal Hocko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox