On 5/30/22 09:16, Peter Zijlstra wrote:
On Mon, May 30, 2022 at 12:56:50PM +0200, Frederic Weisbecker wrote:
This is ABI, you can't walk back on it. I would suggest starting with an
'all feature' isolation. Only if there's real demand for something more
fine-grained add that on top. Simple first etc.
That's actually my worry. If we start with an all in one ABI, how do we later
mix that up with more finegrained features? Like what will be the behaviour of:
cpuset.isolation.rcu_nocb = 0
cpuset.isolation.all = 1
Well clearly that doesn't make sense. I was more thinking along the
lines of cgroup.subtree_control, where instead all features are enabled
by default.
But only if there's a real usecase, otherwise there's no point in
providing such knobs.
I am actually thinking about extending the cpuset partition interface
for isolation. Right now, I have an outstanding patch [1] to add an
"isolated" state to partition which disable load balancing somewhat
similar to isolcpus command line option. In the future, we can add
attribute to the isolation state like "isolated:full" to similar to
nohz_full currently. If the needs arise, we can even extend the
attribute to allow list like "isolated:rcu_nocbs". I don't think it is
good idea to keep on adding new cpuset control files extensively. I
would prefer extending the existing ones.
[1] https://lore.kernel.org/lkml/20220510153413.400020-1-longman@xxxxxxxxxx/
Cheers,
Longman