diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 20 | ||||
-rw-r--r-- | init/Makefile | 1 | ||||
-rw-r--r-- | init/calibrate.c | 1 | ||||
-rw-r--r-- | init/do_mounts.h | 1 | ||||
-rw-r--r-- | init/do_mounts_initrd.c | 1 | ||||
-rw-r--r-- | init/do_mounts_md.c | 1 | ||||
-rw-r--r-- | init/do_mounts_rd.c | 1 | ||||
-rw-r--r-- | init/init_task.c | 1 | ||||
-rw-r--r-- | init/initramfs.c | 1 | ||||
-rw-r--r-- | init/main.c | 4 |
10 files changed, 20 insertions, 12 deletions
diff --git a/init/Kconfig b/init/Kconfig index 78cb2461012e..5327146db9b5 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -472,6 +472,13 @@ config TASK_IO_ACCOUNTING endmenu # "CPU/Task time and stats accounting" +config CPU_ISOLATION + bool "CPU isolation" + help + Make sure that CPUs running critical tasks are not disturbed by + any source of "noise" such as unbound workqueues, timers, kthreads... + Unbound jobs get offloaded to housekeeping CPUs. + source "kernel/rcu/Kconfig" config BUILD_BIN2C @@ -1033,7 +1040,7 @@ endif choice prompt "Compiler optimization level" - default CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE + default CC_OPTIMIZE_FOR_PERFORMANCE config CC_OPTIMIZE_FOR_PERFORMANCE bool "Optimize for performance" @@ -1379,15 +1386,6 @@ config USERFAULTFD Enable the userfaultfd() system call that allows to intercept and handle page faults in userland. -config PCI_QUIRKS - default y - bool "Enable PCI quirk workarounds" if EXPERT - depends on PCI - help - This enables workarounds for various PCI chipset - bugs/quirks. Disable this only if your target machine is - unaffected by PCI quirks. - config MEMBARRIER bool "Enable membarrier() system call" if EXPERT default y @@ -1752,7 +1750,7 @@ config MODULE_SIG help Check modules for valid signatures upon load: the signature is simply appended to the module. For more information see - Documentation/module-signing.txt. + <file:Documentation/admin-guide/module-signing.rst>. Note that this option adds the OpenSSL development packages as a kernel build dependency so that the signing tool can use its crypto diff --git a/init/Makefile b/init/Makefile index c4fb45525d08..1dbb23787290 100644 --- a/init/Makefile +++ b/init/Makefile @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0 # # Makefile for the linux kernel. # diff --git a/init/calibrate.c b/init/calibrate.c index ce635dccf3d9..f3831272f113 100644 --- a/init/calibrate.c +++ b/init/calibrate.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0 /* calibrate.c: default delay calibration * * Excised from init/main.c diff --git a/init/do_mounts.h b/init/do_mounts.h index 282d65bfd674..5b05c8f93f47 100644 --- a/init/do_mounts.h +++ b/init/do_mounts.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ #include <linux/kernel.h> #include <linux/blkdev.h> #include <linux/init.h> diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c index a1000ca29fc9..53d4f0f326e7 100644 --- a/init/do_mounts_initrd.c +++ b/init/do_mounts_initrd.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0 /* * Many of the syscalls used in this file expect some of the arguments * to be __user pointers not __kernel pointers. To limit the sparse diff --git a/init/do_mounts_md.c b/init/do_mounts_md.c index 8cb6db54285b..3f733c760a8c 100644 --- a/init/do_mounts_md.c +++ b/init/do_mounts_md.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0 /* * Many of the syscalls used in this file expect some of the arguments * to be __user pointers not __kernel pointers. To limit the sparse diff --git a/init/do_mounts_rd.c b/init/do_mounts_rd.c index dd4104c9aa12..99e0b649fc0e 100644 --- a/init/do_mounts_rd.c +++ b/init/do_mounts_rd.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0 /* * Many of the syscalls used in this file expect some of the arguments * to be __user pointers not __kernel pointers. To limit the sparse diff --git a/init/init_task.c b/init/init_task.c index 66787e30a419..9325fee7dc82 100644 --- a/init/init_task.c +++ b/init/init_task.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0 #include <linux/init_task.h> #include <linux/export.h> #include <linux/mqueue.h> diff --git a/init/initramfs.c b/init/initramfs.c index e64bf7b4c1ca..7046feffef6b 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0 /* * Many of the syscalls used in this file expect some of the arguments * to be __user pointers not __kernel pointers. To limit the sparse diff --git a/init/main.c b/init/main.c index 0ee9c6866ada..3bdd8da90f69 100644 --- a/init/main.c +++ b/init/main.c @@ -46,6 +46,7 @@ #include <linux/cgroup.h> #include <linux/efi.h> #include <linux/tick.h> +#include <linux/sched/isolation.h> #include <linux/interrupt.h> #include <linux/taskstats_kern.h> #include <linux/delayacct.h> @@ -606,6 +607,7 @@ asmlinkage __visible void __init start_kernel(void) early_irq_init(); init_IRQ(); tick_init(); + housekeeping_init(); rcu_init_nohz(); init_timers(); hrtimers_init(); @@ -664,12 +666,12 @@ asmlinkage __visible void __init start_kernel(void) debug_objects_mem_init(); setup_per_cpu_pageset(); numa_policy_init(); + acpi_early_init(); if (late_time_init) late_time_init(); calibrate_delay(); pidmap_init(); anon_vma_init(); - acpi_early_init(); #ifdef CONFIG_X86 if (efi_enabled(EFI_RUNTIME_SERVICES)) efi_enter_virtual_mode(); |