Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler fixes from Thomas Gleixner:
 "Three patches addressing the fallout of the CPU_ISOLATION changes
  especially with NO_HZ_FULL plus documentation of boot parameter
  dependency"

* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  sched/isolation: Document boot parameters dependency on CONFIG_CPU_ISOLATION=y
  sched/isolation: Enable CONFIG_CPU_ISOLATION=y by default
  sched/isolation: Make CONFIG_NO_HZ_FULL select CONFIG_CPU_ISOLATION
This commit is contained in:
Linus Torvalds 2017-12-31 12:27:19 -08:00
commit 4c470317f9
4 changed files with 9 additions and 3 deletions

View File

@ -109,6 +109,7 @@ parameter is applicable::
IPV6 IPv6 support is enabled. IPV6 IPv6 support is enabled.
ISAPNP ISA PnP code is enabled. ISAPNP ISA PnP code is enabled.
ISDN Appropriate ISDN support is enabled. ISDN Appropriate ISDN support is enabled.
ISOL CPU Isolation is enabled.
JOY Appropriate joystick support is enabled. JOY Appropriate joystick support is enabled.
KGDB Kernel debugger support is enabled. KGDB Kernel debugger support is enabled.
KVM Kernel Virtual Machine support is enabled. KVM Kernel Virtual Machine support is enabled.

View File

@ -1737,7 +1737,7 @@
isapnp= [ISAPNP] isapnp= [ISAPNP]
Format: <RDP>,<reset>,<pci_scan>,<verbosity> Format: <RDP>,<reset>,<pci_scan>,<verbosity>
isolcpus= [KNL,SMP] Isolate a given set of CPUs from disturbance. isolcpus= [KNL,SMP,ISOL] Isolate a given set of CPUs from disturbance.
[Deprecated - use cpusets instead] [Deprecated - use cpusets instead]
Format: [flag-list,]<cpu-list> Format: [flag-list,]<cpu-list>
@ -2662,7 +2662,7 @@
Valid arguments: on, off Valid arguments: on, off
Default: on Default: on
nohz_full= [KNL,BOOT] nohz_full= [KNL,BOOT,SMP,ISOL]
The argument is a cpu list, as described above. The argument is a cpu list, as described above.
In kernels built with CONFIG_NO_HZ_FULL=y, set In kernels built with CONFIG_NO_HZ_FULL=y, set
the specified list of CPUs whose tick will be stopped the specified list of CPUs whose tick will be stopped

View File

@ -461,10 +461,14 @@ endmenu # "CPU/Task time and stats accounting"
config CPU_ISOLATION config CPU_ISOLATION
bool "CPU isolation" bool "CPU isolation"
default y
help help
Make sure that CPUs running critical tasks are not disturbed by Make sure that CPUs running critical tasks are not disturbed by
any source of "noise" such as unbound workqueues, timers, kthreads... any source of "noise" such as unbound workqueues, timers, kthreads...
Unbound jobs get offloaded to housekeeping CPUs. Unbound jobs get offloaded to housekeeping CPUs. This is driven by
the "isolcpus=" boot parameter.
Say Y if unsure.
source "kernel/rcu/Kconfig" source "kernel/rcu/Kconfig"

View File

@ -95,6 +95,7 @@ config NO_HZ_FULL
select RCU_NOCB_CPU select RCU_NOCB_CPU
select VIRT_CPU_ACCOUNTING_GEN select VIRT_CPU_ACCOUNTING_GEN
select IRQ_WORK select IRQ_WORK
select CPU_ISOLATION
help help
Adaptively try to shutdown the tick whenever possible, even when Adaptively try to shutdown the tick whenever possible, even when
the CPU is running tasks. Typically this requires running a single the CPU is running tasks. Typically this requires running a single