aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-12-31 15:27:19 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-12-31 15:27:19 -0500
commit4c470317f91e5e684201f21e237fe444ed47c18c (patch)
tree12c0e65d7927b825e26f4b960fb8fe56e6c916f9
parente7c632fc479a8ac28da19252d44b0bd90a2638f6 (diff)
parentd94d105329e4a8a874853b5bd854b6587c41adda (diff)
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
-rw-r--r--Documentation/admin-guide/kernel-parameters.rst1
-rw-r--r--Documentation/admin-guide/kernel-parameters.txt4
-rw-r--r--init/Kconfig6
-rw-r--r--kernel/time/Kconfig1
4 files changed, 9 insertions, 3 deletions
diff --git a/Documentation/admin-guide/kernel-parameters.rst b/Documentation/admin-guide/kernel-parameters.rst
index b2598cc9834c..7242cbda15dd 100644
--- a/Documentation/admin-guide/kernel-parameters.rst
+++ b/Documentation/admin-guide/kernel-parameters.rst
@@ -109,6 +109,7 @@ parameter is applicable::
109 IPV6 IPv6 support is enabled. 109 IPV6 IPv6 support is enabled.
110 ISAPNP ISA PnP code is enabled. 110 ISAPNP ISA PnP code is enabled.
111 ISDN Appropriate ISDN support is enabled. 111 ISDN Appropriate ISDN support is enabled.
112 ISOL CPU Isolation is enabled.
112 JOY Appropriate joystick support is enabled. 113 JOY Appropriate joystick support is enabled.
113 KGDB Kernel debugger support is enabled. 114 KGDB Kernel debugger support is enabled.
114 KVM Kernel Virtual Machine support is enabled. 115 KVM Kernel Virtual Machine support is enabled.
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index e49311d53504..7041c6710f22 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -1737,7 +1737,7 @@
1737 isapnp= [ISAPNP] 1737 isapnp= [ISAPNP]
1738 Format: <RDP>,<reset>,<pci_scan>,<verbosity> 1738 Format: <RDP>,<reset>,<pci_scan>,<verbosity>
1739 1739
1740 isolcpus= [KNL,SMP] Isolate a given set of CPUs from disturbance. 1740 isolcpus= [KNL,SMP,ISOL] Isolate a given set of CPUs from disturbance.
1741 [Deprecated - use cpusets instead] 1741 [Deprecated - use cpusets instead]
1742 Format: [flag-list,]<cpu-list> 1742 Format: [flag-list,]<cpu-list>
1743 1743
@@ -2662,7 +2662,7 @@
2662 Valid arguments: on, off 2662 Valid arguments: on, off
2663 Default: on 2663 Default: on
2664 2664
2665 nohz_full= [KNL,BOOT] 2665 nohz_full= [KNL,BOOT,SMP,ISOL]
2666 The argument is a cpu list, as described above. 2666 The argument is a cpu list, as described above.
2667 In kernels built with CONFIG_NO_HZ_FULL=y, set 2667 In kernels built with CONFIG_NO_HZ_FULL=y, set
2668 the specified list of CPUs whose tick will be stopped 2668 the specified list of CPUs whose tick will be stopped
diff --git a/init/Kconfig b/init/Kconfig
index 2934249fba46..690a381adee0 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -461,10 +461,14 @@ endmenu # "CPU/Task time and stats accounting"
461 461
462config CPU_ISOLATION 462config CPU_ISOLATION
463 bool "CPU isolation" 463 bool "CPU isolation"
464 default y
464 help 465 help
465 Make sure that CPUs running critical tasks are not disturbed by 466 Make sure that CPUs running critical tasks are not disturbed by
466 any source of "noise" such as unbound workqueues, timers, kthreads... 467 any source of "noise" such as unbound workqueues, timers, kthreads...
467 Unbound jobs get offloaded to housekeeping CPUs. 468 Unbound jobs get offloaded to housekeeping CPUs. This is driven by
469 the "isolcpus=" boot parameter.
470
471 Say Y if unsure.
468 472
469source "kernel/rcu/Kconfig" 473source "kernel/rcu/Kconfig"
470 474
diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig
index e776fc8cc1df..f6b5f19223d6 100644
--- a/kernel/time/Kconfig
+++ b/kernel/time/Kconfig
@@ -95,6 +95,7 @@ config NO_HZ_FULL
95 select RCU_NOCB_CPU 95 select RCU_NOCB_CPU
96 select VIRT_CPU_ACCOUNTING_GEN 96 select VIRT_CPU_ACCOUNTING_GEN
97 select IRQ_WORK 97 select IRQ_WORK
98 select CPU_ISOLATION
98 help 99 help
99 Adaptively try to shutdown the tick whenever possible, even when 100 Adaptively try to shutdown the tick whenever possible, even when
100 the CPU is running tasks. Typically this requires running a single 101 the CPU is running tasks. Typically this requires running a single