[PATCH 0/9] sched: Migrate disable support

From: Peter Zijlstra
Date: Mon Sep 21 2020 - 13:01:23 EST


Hi,

Here's my take on migrate_disable(). It avoids growing a second means of
changing the affinity, documents how the things violates locking rules but
still mostly works.

It also avoids blocking completely, so no more futex band-aids required.

Also, no more atomics/locks on the fast path.

I also put in a comment that explains how the whole concept is fundamentally
flawed but a necessary evil to get PREEMPT_RT going -- for now.

Somewhat tested with PREEMPT_RT.

---
include/linux/cpuhotplug.h | 1
include/linux/preempt.h | 60 +++
include/linux/sched.h | 4
include/linux/sched/hotplug.h | 2
include/linux/stop_machine.h | 5
kernel/cpu.c | 9
kernel/sched/core.c | 673 +++++++++++++++++++++++++++++++-----------
kernel/sched/deadline.c | 5
kernel/sched/sched.h | 24 +
kernel/stop_machine.c | 23 +
lib/dump_stack.c | 2
lib/smp_processor_id.c | 5
12 files changed, 635 insertions(+), 178 deletions(-)