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


Groups > linux.kernel > #1348216

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

From Steven Rostedt <rostedt@goodmis.org>
Newsgroups linux.kernel
Subject [PATCH RT 09/20] kernel: migrate_disable() do fastpath in atomic & irqs-off
Date 2016-03-02 16:50 +0100
Message-ID <r8hch-1c4-79@gated-at.bofh.it> (permalink)
References <r8h2y-18n-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


3.18.27-rt27-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 8214206817f2..24c7ced53555 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2859,7 +2859,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
@@ -2893,7 +2893,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 | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH RT 00/20] Linux 3.18.27-rt27-rc1 Steven Rostedt <rostedt@goodmis.org> - 2016-03-02 16:50 +0100
  [PATCH RT 12/20] tick/broadcast: Make broadcast hrtimer irqsafe Steven Rostedt <rostedt@goodmis.org> - 2016-03-02 16:50 +0100
  [PATCH RT 01/20] sched: reset tasks lockless wake-queues on fork() Steven Rostedt <rostedt@goodmis.org> - 2016-03-02 16:50 +0100
  [PATCH RT 04/20] preempt-lazy: Add the lazy-preemption check to preempt_schedule() Steven Rostedt <rostedt@goodmis.org> - 2016-03-02 16:50 +0100
  [PATCH RT 09/20] kernel: migrate_disable() do fastpath in atomic & irqs-off Steven Rostedt <rostedt@goodmis.org> - 2016-03-02 16:50 +0100

csiph-web