public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH v2 00/11] RSEQ node id and virtual cpu id extensions
@ 2022-02-18 21:06 Mathieu Desnoyers
  2022-02-18 21:06 ` [RFC PATCH v2 01/11] rseq: Introduce feature size and alignment ELF auxiliary vector entries Mathieu Desnoyers
                   ` (10 more replies)
  0 siblings, 11 replies; 19+ messages in thread
From: Mathieu Desnoyers @ 2022-02-18 21:06 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: linux-kernel, Thomas Gleixner, Paul E . McKenney, Boqun Feng,
	H . Peter Anvin, Paul Turner, linux-api, Christian Brauner,
	Florian Weimer, David.Laight, carlos, Peter Oskolkov,
	Mathieu Desnoyers

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


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2022-02-25 21:21 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-18 21:06 [RFC PATCH v2 00/11] RSEQ node id and virtual cpu id extensions Mathieu Desnoyers
2022-02-18 21:06 ` [RFC PATCH v2 01/11] rseq: Introduce feature size and alignment ELF auxiliary vector entries Mathieu Desnoyers
2022-02-18 21:06 ` [RFC PATCH v2 02/11] rseq: Introduce extensible rseq ABI Mathieu Desnoyers
2022-02-18 21:06 ` [RFC PATCH v2 03/11] rseq: extend struct rseq with numa node id Mathieu Desnoyers
2022-02-18 21:06 ` [RFC PATCH v2 04/11] selftests/rseq: Use ELF auxiliary vector for extensible rseq Mathieu Desnoyers
2022-02-18 21:06 ` [RFC PATCH v2 05/11] selftests/rseq: Implement rseq numa node id field selftest Mathieu Desnoyers
2022-02-18 21:06 ` [RFC PATCH v2 06/11] lib: invert _find_next_bit source arguments Mathieu Desnoyers
2022-02-18 21:06 ` [RFC PATCH v2 07/11] lib: implement find_{first,next}_{zero,one}_and_zero_bit Mathieu Desnoyers
2022-02-18 21:06 ` [RFC PATCH v2 08/11] cpumask: implement cpumask_{first,next}_{zero,one}_and_zero Mathieu Desnoyers
2022-02-18 21:06 ` [RFC PATCH v2 09/11] sched: Introduce per memory space current virtual cpu id Mathieu Desnoyers
2022-02-21 17:38   ` [RFC PATCH v3 " Mathieu Desnoyers
2022-02-25 17:35   ` [RFC PATCH v2 " Jonathan Corbet
2022-02-25 17:56     ` Mathieu Desnoyers
2022-02-25 18:15       ` Jonathan Corbet
2022-02-25 18:39         ` Mathieu Desnoyers
2022-02-25 19:24           ` Jonathan Corbet
2022-02-25 21:21       ` Mathieu Desnoyers
2022-02-18 21:06 ` [RFC PATCH v2 10/11] rseq: extend struct rseq with per memory space vcpu id Mathieu Desnoyers
2022-02-18 21:06 ` [RFC PATCH v2 11/11] selftests/rseq: Implement rseq vm_vcpu_id field support Mathieu Desnoyers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox