diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-12-31 15:27:19 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-12-31 15:27:19 -0500 |
commit | 4c470317f91e5e684201f21e237fe444ed47c18c (patch) | |
tree | 12c0e65d7927b825e26f4b960fb8fe56e6c916f9 | |
parent | e7c632fc479a8ac28da19252d44b0bd90a2638f6 (diff) | |
parent | d94d105329e4a8a874853b5bd854b6587c41adda (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.rst | 1 | ||||
-rw-r--r-- | Documentation/admin-guide/kernel-parameters.txt | 4 | ||||
-rw-r--r-- | init/Kconfig | 6 | ||||
-rw-r--r-- | kernel/time/Kconfig | 1 |
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 | ||
462 | config CPU_ISOLATION | 462 | config 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 | ||
469 | source "kernel/rcu/Kconfig" | 473 | source "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 |