]> www.infradead.org Git - users/jedix/linux-maple.git/commit
sched/isolation: Consolidate housekeeping cpumasks that are always identical
authorWaiman Long <longman@redhat.com>
Wed, 30 Oct 2024 17:52:52 +0000 (13:52 -0400)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 2 Dec 2024 11:24:28 +0000 (12:24 +0100)
commit6010d245ddc9f463bbf0311ac49073a78f444755
treea7e629569a9c95e488c37520696f549238b18e0f
parent1174b9344bc7e7989439cad207fcd94eaab028db
sched/isolation: Consolidate housekeeping cpumasks that are always identical

The housekeeping cpumasks are only set by two boot commandline
parameters: "nohz_full" and "isolcpus". When there is more than one of
"nohz_full" or "isolcpus", the extra ones must have the same CPU list
or the setup will fail partially.

The HK_TYPE_DOMAIN and HK_TYPE_MANAGED_IRQ types are settable by
"isolcpus" only and their settings can be independent of the other
types. The other housekeeping types are all set by "nohz_full" or
"isolcpus=nohz" without a way to set them individually. So they all
have identical cpumasks.

There is actually no point in having different cpumasks for these
"nohz_full" only housekeeping types. Consolidate these types to use the
same cpumask by aliasing them to the same value. If there is a need to
set any of them independently in the future, we can break them out to
their own cpumasks again.

With this change, the number of cpumasks in the housekeeping structure
drops from 9 to 3. Other than that, there should be no other functional
change.

Signed-off-by: Waiman Long <longman@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Frederic Weisbecker <frederic@kernel.org>
Link: https://lore.kernel.org/r/20241030175253.125248-4-longman@redhat.com
include/linux/sched/isolation.h
kernel/sched/isolation.c