This adds two small patches on top of peterz@'s RFC from https://lore.kernel.org/lkml/20211214204445.665580974@xxxxxxxxxxxxx/ The new patches are not fully tested - I'm still working on it. I'll post another patch shortly that adds worker timeouts in sys_umcg_wait(). Sending this out just to break the silence and to assess if the approach I'm taking here is not strongly NACKed. Peter Oskolkov (3): sched/umcg: add WF_CURRENT_CPU and externise ttwu sched: UMCG: add a blocked worker list sched: UMCG: allow to sys_umcg_kick UMCG servers Peter Zijlstra (2): x86/uaccess: Implement unsafe_try_cmpxchg_user() sched: User Mode Concurency Groups arch/x86/Kconfig | 1 + arch/x86/entry/syscalls/syscall_64.tbl | 3 + arch/x86/include/asm/thread_info.h | 2 + arch/x86/include/asm/uaccess.h | 57 ++ fs/exec.c | 1 + include/linux/entry-common.h | 6 + include/linux/sched.h | 86 +++ include/linux/syscalls.h | 4 + include/linux/thread_info.h | 2 + include/uapi/asm-generic/unistd.h | 9 +- include/uapi/linux/umcg.h | 161 +++++ init/Kconfig | 15 + kernel/entry/common.c | 18 +- kernel/exit.c | 5 + kernel/sched/Makefile | 1 + kernel/sched/core.c | 12 +- kernel/sched/fair.c | 4 + kernel/sched/sched.h | 15 +- kernel/sched/umcg.c | 913 +++++++++++++++++++++++++ kernel/sys_ni.c | 5 + 20 files changed, 1305 insertions(+), 15 deletions(-) create mode 100644 include/uapi/linux/umcg.h create mode 100644 kernel/sched/umcg.c base-commit: 85538cc07d6b6dcffc1df64a22308fcb05ecddf4 -- 2.34.1.703.g22d0c6ccf7-goog