Messages in this thread | | | From | Paul Gortmaker <> | Subject | [PATCH 0/2] bind rcu offload (nohz_full/isolation) into cpuset | Date | Wed, 27 Oct 2021 16:43:17 -0400 |
| |
One of the earlier pre-mainline RCU nocb patchsets had a temporary sysfs knob in /sys/devices/system/cpu/cpu*/hotplug/nocb for testing[1].
That not-for-merge commit from Frederic said:
This is only intended for those who want to test this patchset. The real interfaces will be cpuset/isolation and rcutorture.
We've had rcutorture as the one and only mainline user of nocb toggle for a while now[2], and so I thought I'd take a crack at what Frederic had in mind for cpuset with some code vs. asking 100 random questions.
Note that I intentionally didn't Cc any cgroup/cpuset people (yet), since at this point this is only my guess on what things were to look like based on a single sentence fragment. So this is really early "Not-for-Merge", but truly just RFC -- to start a conversation.
It won't be really useful until we adjust tick/housekeeping in addition to nocb, but I think we can develop the interface in parallel to that? And maybe use this to expand testing at the same time if it is layered on top of those future work/patchsets? I don't know...
We'll also have to look at corner cases - like whether we want to treat the root cpuset differently; whether we want to sync boot arg values with the cpuset's initial isol flag value, whether we un-isolate cores when an isolation cpuset is rmdir/removed, etc etc.
But as a proof of concept, it "works" as can be seen in the 2nd commit.
Paul. --
Cc: Ingo Molnar <mingo@redhat.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Josh Triplett <josh@joshtriplett.org> Cc: Paul E. McKenney <paulmck@kernel.org> Cc: Frederic Weisbecker <frederic@kernel.org> Cc: Valentin Schneider <valentin.schneider@arm.com>
[1] https://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git/commit/?h=rcu/nocb&id=6abe8408307e part of https://lwn.net/Articles/820544/ https://lwn.net/Articles/832031/ <------ v2 https://lwn.net/Articles/835039/ <------ v3 https://lwn.net/Articles/837128/ <------ v4
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d97b078182406
Paul Gortmaker (2): sched: isolation: cpu isolation handles for cpuset cpuset: add binding to CPU isolation
include/linux/sched/isolation.h | 4 ++++ kernel/cgroup/cpuset.c | 42 +++++++++++++++++++++++++++++++++++++++++ kernel/sched/isolation.c | 22 +++++++++++++++++++++ 3 files changed, 68 insertions(+)
-- 2.15.0
| |