Blob Blame History Raw
From 0232abcbb4dc82f9c1811f82e28b20af65339252 Mon Sep 17 00:00:00 2001
From: "Peter Zijlstra (Intel) Subject: rcu: Make" <peterz@infradead.org>
Date: Tue, 18 Jul 2017 14:54:15 +0100
Subject: [PATCH] rcu_idle_enter() rely on callers disabling irqs

References: bnc#978907 Scheduler performance -- idle
Patch-mainline: v4.14-rc1
Git-commit: 3a60799269daff5ed254a9b473a8db6f0f5c6bd9

All callers to rcu_idle_enter() have irqs disabled, so there is no point
in rcu_idle_enter disabling them again.  This commit therefore replaces
the irq disabling with a RCU_LOCKDEP_WARN().

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Mel Gorman <mgorman@suse.de>
---
 kernel/rcu/tree.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index e2ed354c9df9..eef57e674f9b 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -860,12 +860,8 @@ static void rcu_eqs_enter(bool user)
  */
 void rcu_idle_enter(void)
 {
-	unsigned long flags;
-
-	local_irq_save(flags);
 	rcu_eqs_enter(false);
 	rcu_sysidle_enter(0);
-	local_irq_restore(flags);
 }
 EXPORT_SYMBOL_GPL(rcu_idle_enter);