diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 7 | ||||
-rw-r--r-- | init/main.c | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig index 3c1faaa2af4a..c1fd2863d4ba 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -472,6 +472,13 @@ config TASK_IO_ACCOUNTING | |||
472 | 472 | ||
473 | endmenu # "CPU/Task time and stats accounting" | 473 | endmenu # "CPU/Task time and stats accounting" |
474 | 474 | ||
475 | config CPU_ISOLATION | ||
476 | bool "CPU isolation" | ||
477 | help | ||
478 | Make sure that CPUs running critical tasks are not disturbed by | ||
479 | any source of "noise" such as unbound workqueues, timers, kthreads... | ||
480 | Unbound jobs get offloaded to housekeeping CPUs. | ||
481 | |||
475 | source "kernel/rcu/Kconfig" | 482 | source "kernel/rcu/Kconfig" |
476 | 483 | ||
477 | config BUILD_BIN2C | 484 | config BUILD_BIN2C |
diff --git a/init/main.c b/init/main.c index 0ee9c6866ada..4610c99ae306 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -46,6 +46,7 @@ | |||
46 | #include <linux/cgroup.h> | 46 | #include <linux/cgroup.h> |
47 | #include <linux/efi.h> | 47 | #include <linux/efi.h> |
48 | #include <linux/tick.h> | 48 | #include <linux/tick.h> |
49 | #include <linux/sched/isolation.h> | ||
49 | #include <linux/interrupt.h> | 50 | #include <linux/interrupt.h> |
50 | #include <linux/taskstats_kern.h> | 51 | #include <linux/taskstats_kern.h> |
51 | #include <linux/delayacct.h> | 52 | #include <linux/delayacct.h> |
@@ -606,6 +607,7 @@ asmlinkage __visible void __init start_kernel(void) | |||
606 | early_irq_init(); | 607 | early_irq_init(); |
607 | init_IRQ(); | 608 | init_IRQ(); |
608 | tick_init(); | 609 | tick_init(); |
610 | housekeeping_init(); | ||
609 | rcu_init_nohz(); | 611 | rcu_init_nohz(); |
610 | init_timers(); | 612 | init_timers(); |
611 | hrtimers_init(); | 613 | hrtimers_init(); |