Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1348451

[PATCH RT 2/7] kernel: migrate_disable() do fastpath in atomic & irqs-off

From Steven Rostedt <rostedt@goodmis.org>
Newsgroups linux.kernel
Subject [PATCH RT 2/7] kernel: migrate_disable() do fastpath in atomic & irqs-off
Date 2016-03-02 21:20 +0100
Message-ID <r8lpv-4I9-1@gated-at.bofh.it> (permalink)
References <r8lpv-4I9-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


3.4.110-rt140-rc1 stable review patch.
If anyone has any objections, please let me know.

------------------

From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>

With interrupts off it makes no sense to do the long path since we can't
leave the CPU anyway. Also we might end up in a recursion with lockdep.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 kernel/sched/core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index cc4df0131023..7d9a53d80d22 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -3389,7 +3389,7 @@ void migrate_disable(void)
 {
 	struct task_struct *p = current;
 
-	if (in_atomic()) {
+	if (in_atomic() || irqs_disabled()) {
 #ifdef CONFIG_SCHED_DEBUG
 		p->migrate_disable_atomic++;
 #endif
@@ -3420,7 +3420,7 @@ void migrate_enable(void)
 	unsigned long flags;
 	struct rq *rq;
 
-	if (in_atomic()) {
+	if (in_atomic() || irqs_disabled()) {
 #ifdef CONFIG_SCHED_DEBUG
 		p->migrate_disable_atomic--;
 #endif
-- 
2.7.0

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[PATCH RT 2/7] kernel: migrate_disable() do fastpath in atomic & irqs-off Steven Rostedt <rostedt@goodmis.org> - 2016-03-02 21:20 +0100

csiph-web