Commit e575d401 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

mm/memcontrol: Replace the PREEMPT_RT conditionals



Use VM_WARN_ON_IRQS_ENABLED() and preempt_disable/enable_nested() to
replace the CONFIG_PREEMPT_RT #ifdeffery.

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Reviewed-by: default avatarMuchun Song <songmuchun@bytedance.com>
Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: default avatarMichal Hocko <mhocko@suse.com>
Link: https://lore.kernel.org/r/20220825164131.402717-6-bigeasy@linutronix.de
parent a738e9ba
Loading
Loading
Loading
Loading
+6 −13
Original line number Diff line number Diff line
@@ -597,25 +597,18 @@ static u64 flush_next_time;
 */
static void memcg_stats_lock(void)
{
#ifdef CONFIG_PREEMPT_RT
      preempt_disable();
#else
      VM_BUG_ON(!irqs_disabled());
#endif
	preempt_disable_nested();
	VM_WARN_ON_IRQS_ENABLED();
}

static void __memcg_stats_lock(void)
{
#ifdef CONFIG_PREEMPT_RT
      preempt_disable();
#endif
	preempt_disable_nested();
}

static void memcg_stats_unlock(void)
{
#ifdef CONFIG_PREEMPT_RT
      preempt_enable();
#endif
	preempt_enable_nested();
}

static inline void memcg_rstat_updated(struct mem_cgroup *memcg, int val)
@@ -715,7 +708,7 @@ void __mod_memcg_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx,
	 * interrupt context while other caller need to have disabled interrupt.
	 */
	__memcg_stats_lock();
	if (IS_ENABLED(CONFIG_DEBUG_VM) && !IS_ENABLED(CONFIG_PREEMPT_RT)) {
	if (IS_ENABLED(CONFIG_DEBUG_VM)) {
		switch (idx) {
		case NR_ANON_MAPPED:
		case NR_FILE_MAPPED:
@@ -725,7 +718,7 @@ void __mod_memcg_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx,
			WARN_ON_ONCE(!in_task());
			break;
		default:
			WARN_ON_ONCE(!irqs_disabled());
			VM_WARN_ON_IRQS_ENABLED();
		}
	}