sched: Provide cant_migrate()
authorThomas Gleixner <tglx@linutronix.de>
Fri, 14 Feb 2020 13:39:19 +0000 (14:39 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 20 Feb 2020 20:17:24 +0000 (21:17 +0100)
commit4e139c7711633365ebb52fbb63905395522a8413
treedf06f2cf410cfe8d1858ab4737ee25da7110f3bd
parent66630058e56b26b3a9cf2625e250a8c592dd0207
sched: Provide cant_migrate()

Some code pathes rely on preempt_disable() to prevent migration on a non RT
enabled kernel. These preempt_disable/enable() pairs are substituted by
migrate_disable/enable() pairs or other forms of RT specific protection. On
RT these protections prevent migration but not preemption. Obviously a
cant_sleep() check in such a section will trigger on RT because preemption
is not disabled.

Provide a cant_migrate() macro which maps to cant_sleep() on a non RT
kernel and an empty placeholder for RT for now. The placeholder will be
changed to a proper debug check along with the RT specific migration
protection mechanism.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20200214161503.070487511@linutronix.de
include/linux/kernel.h