linux_dsm_epyc7002/include
Thomas Gleixner 66630058e5 sched/rt: Provide migrate_disable/enable() inlines
Code which solely needs to prevent migration of a task uses
preempt_disable()/enable() pairs. This is the only reliable way to do so
as setting the task affinity to a single CPU can be undone by a
setaffinity operation from a different task/process.

RT provides a seperate migrate_disable/enable() mechanism which does not
disable preemption to achieve the semantic requirements of a (almost) fully
preemptible kernel.

As it is unclear from looking at a given code path whether the intention is
to disable preemption or migration, introduce migrate_disable/enable()
inline functions which can be used to annotate code which merely needs to
disable migration. Map them to preempt_disable/enable() for now. The RT
substitution will be provided later.

Code which is annotated that way documents that it has no requirement to
protect against reentrancy of a preempting task. Either this is not
required at all or the call sites are already serialized by other means.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>
Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Ben Segall <bsegall@google.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Link: https://lore.kernel.org/r/878slclv1u.fsf@nanos.tec.linutronix.de
2020-02-20 21:17:24 +01:00
..
acpi ACPICA: Introduce acpi_any_gpe_status_set() 2020-02-11 23:26:15 +01:00
asm-generic Microblaze patches for 5.6-rc1 2020-02-04 11:58:07 +00:00
clocksource
crypto
drm
dt-bindings ARM: SoC: late updates 2020-02-08 14:17:27 -08:00
keys
kunit
kvm
linux sched/rt: Provide migrate_disable/enable() inlines 2020-02-20 21:17:24 +01:00
math-emu
media
misc
net Just a few fixes: 2020-02-14 07:16:08 -08:00
pcmcia
ras
rdma RDMA/core: Make the entire API tree static 2020-01-30 16:28:52 -04:00
scsi
soc ARM: SoC-related driver updates 2020-02-08 14:04:19 -08:00
sound ARM: Device-tree updates 2020-02-08 13:58:44 -08:00
target
trace ARM: SoC-related driver updates 2020-02-08 14:04:19 -08:00
uapi fs: New zonefs file system 2020-02-09 15:51:46 -08:00
vdso
video
xen xen: branch for v5.6-rc1 2020-02-05 17:44:14 +00:00