]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
sched: Do not clear PF_NO_SETAFFINITY flag in select_fallback_rq()
authorSteven Rostedt <rostedt@goodmis.org>
Tue, 1 Jul 2014 15:14:44 +0000 (11:14 -0400)
committerMichal Sojka <sojka@merica.cz>
Sun, 13 Sep 2015 07:47:46 +0000 (09:47 +0200)
I talked with Peter Zijlstra about this, and he told me that the clearing
of the PF_NO_SETAFFINITY flag was to deal with the optimization of
migrate_disable/enable() that ignores tasks that have that flag set. But
that optimization was removed when I did a rework of the cpu hotplug code.

I found that ignoring tasks that had that flag set would cause those tasks
to not sync with the hotplug code and cause the kernel to crash. Thus it
needed to not treat them special and those tasks had to go though the same
work as tasks without that flag set.

Now that those tasks are not treated special, there's no reason to clear the
flag.

May still need to be tested as the migrate_me() code does not ignore those
flags.

Cc: stable-rt@vger.kernel.org
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Clark Williams <williams@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20140701111444.0cfebaa1@gandalf.local.home
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/sched/core.c

index 006dfb59884caf2280431a8dc5996b9a028e0c2d..70acb9c4cfd1353bcb02ee55a41fc7bc89df4ea0 100644 (file)
@@ -1479,12 +1479,6 @@ out:
                }
        }
 
-       /*
-        * Clear PF_NO_SETAFFINITY, otherwise we wreckage
-        * migrate_disable/enable. See optimization for
-        * PF_NO_SETAFFINITY tasks there.
-        */
-       p->flags &= ~PF_NO_SETAFFINITY;
        return dest_cpu;
 }