Hi, I'm sending this series for feedback. There appears to be a lot of interest in the virtual cpu id feature for use in user-space memory allocators (e.g. glibc malloc), so I am sending this out as RFC. The most interesting patch in here is "sched: Introduce per memory space current virtual cpu id". So if you want to jump to the meat, go immediately to that patch. This series is based on the tip tree core/sched branch [1] at commit ed3b362d54f0 ("sched/isolation: Split housekeeping cpumask per isolation features"). Feedback is welcome! Thanks, Mathieu [1] https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/ Mathieu Desnoyers (11): rseq: Introduce feature size and alignment ELF auxiliary vector entries rseq: Introduce extensible rseq ABI rseq: extend struct rseq with numa node id selftests/rseq: Use ELF auxiliary vector for extensible rseq selftests/rseq: Implement rseq numa node id field selftest lib: invert _find_next_bit source arguments lib: implement find_{first,next}_{zero,one}_and_zero_bit cpumask: implement cpumask_{first,next}_{zero,one}_and_zero sched: Introduce per memory space current virtual cpu id rseq: extend struct rseq with per memory space vcpu id selftests/rseq: Implement rseq vm_vcpu_id field support fs/binfmt_elf.c | 5 + fs/exec.c | 4 + include/linux/cpumask.h | 94 ++++++ include/linux/find.h | 123 +++++++- include/linux/mm.h | 25 ++ include/linux/mm_types.h | 111 +++++++ include/linux/sched.h | 9 + include/trace/events/rseq.h | 4 +- include/uapi/linux/auxvec.h | 2 + include/uapi/linux/rseq.h | 22 ++ init/Kconfig | 4 + kernel/fork.c | 15 +- kernel/ptrace.c | 2 +- kernel/rseq.c | 60 +++- kernel/sched/core.c | 82 +++++ kernel/sched/deadline.c | 3 + kernel/sched/debug.c | 13 + kernel/sched/fair.c | 1 + kernel/sched/rt.c | 2 + kernel/sched/sched.h | 364 ++++++++++++++++++++++ kernel/sched/stats.c | 16 +- lib/find_bit.c | 17 +- tools/include/linux/find.h | 9 +- tools/lib/find_bit.c | 17 +- tools/testing/selftests/rseq/basic_test.c | 5 + tools/testing/selftests/rseq/rseq-abi.h | 22 ++ tools/testing/selftests/rseq/rseq.c | 86 ++++- tools/testing/selftests/rseq/rseq.h | 46 ++- 28 files changed, 1106 insertions(+), 57 deletions(-) -- 2.17.1