Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

sched/isolation: Save boot defined domain flags

HK_TYPE_DOMAIN will soon integrate not only boot defined isolcpus= CPUs
but also cpuset isolated partitions.

Housekeeping still needs a way to record what was initially passed
to isolcpus= in order to keep these CPUs isolated after a cpuset
isolated partition is modified or destroyed while containing some of
them.

Create a new HK_TYPE_DOMAIN_BOOT to keep track of those.

Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Reviewed-by: Phil Auld <pauld@redhat.com>
Reviewed-by: Waiman Long <longman@redhat.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Marco Crivellari <marco.crivellari@suse.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Waiman Long <longman@redhat.com>

+7 -2
+4
include/linux/sched/isolation.h
··· 7 7 #include <linux/tick.h> 8 8 9 9 enum hk_type { 10 + /* Inverse of boot-time isolcpus= argument */ 11 + HK_TYPE_DOMAIN_BOOT, 10 12 HK_TYPE_DOMAIN, 13 + /* Inverse of boot-time isolcpus=managed_irq argument */ 11 14 HK_TYPE_MANAGED_IRQ, 15 + /* Inverse of boot-time nohz_full= or isolcpus=nohz arguments */ 12 16 HK_TYPE_KERNEL_NOISE, 13 17 HK_TYPE_MAX, 14 18
+3 -2
kernel/sched/isolation.c
··· 11 11 #include "sched.h" 12 12 13 13 enum hk_flags { 14 + HK_FLAG_DOMAIN_BOOT = BIT(HK_TYPE_DOMAIN_BOOT), 14 15 HK_FLAG_DOMAIN = BIT(HK_TYPE_DOMAIN), 15 16 HK_FLAG_MANAGED_IRQ = BIT(HK_TYPE_MANAGED_IRQ), 16 17 HK_FLAG_KERNEL_NOISE = BIT(HK_TYPE_KERNEL_NOISE), ··· 240 239 241 240 if (!strncmp(str, "domain,", 7)) { 242 241 str += 7; 243 - flags |= HK_FLAG_DOMAIN; 242 + flags |= HK_FLAG_DOMAIN | HK_FLAG_DOMAIN_BOOT; 244 243 continue; 245 244 } 246 245 ··· 270 269 271 270 /* Default behaviour for isolcpus without flags */ 272 271 if (!flags) 273 - flags |= HK_FLAG_DOMAIN; 272 + flags |= HK_FLAG_DOMAIN | HK_FLAG_DOMAIN_BOOT; 274 273 275 274 return housekeeping_setup(str, flags); 276 275 }