Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1443762 > unrolled thread
| Started by | Chris Metcalf <cmetcalf@mellanox.com> |
|---|---|
| First post | 2016-07-14 22:50 +0200 |
| Last post | 2016-07-14 22:50 +0200 |
| Articles | 1 — 1 participant |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH v13 11/12] task_isolation: support CONFIG_TASK_ISOLATION_ALL Chris Metcalf <cmetcalf@mellanox.com> - 2016-07-14 22:50 +0200
| From | Chris Metcalf <cmetcalf@mellanox.com> |
|---|---|
| Date | 2016-07-14 22:50 +0200 |
| Subject | [PATCH v13 11/12] task_isolation: support CONFIG_TASK_ISOLATION_ALL |
| Message-ID | <rUVK2-5Zr-15@gated-at.bofh.it> |
This option, similar to NO_HZ_FULL_ALL, simplifies configuring
a system to boot by default with all cores except the boot core
running in task isolation mode.
Signed-off-by: Chris Metcalf <cmetcalf@mellanox.com>
---
init/Kconfig | 10 ++++++++++
kernel/isolation.c | 6 ++++++
2 files changed, 16 insertions(+)
diff --git a/init/Kconfig b/init/Kconfig
index fc71444f9c30..0b8384c76571 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -810,6 +810,16 @@ config TASK_ISOLATION
You should say "N" unless you are intending to run a
high-performance userspace driver or similar task.
+config TASK_ISOLATION_ALL
+ bool "Provide task isolation on all CPUs by default (except CPU 0)"
+ depends on TASK_ISOLATION
+ help
+ If the user doesn't pass the task_isolation boot option to
+ define the range of task isolation CPUs, consider that all
+ CPUs in the system are task isolation by default.
+ Note the boot CPU will still be kept outside the range to
+ handle timekeeping duty, etc.
+
config BUILD_BIN2C
bool
default n
diff --git a/kernel/isolation.c b/kernel/isolation.c
index a9fd4709825a..5e6cd67dfb0c 100644
--- a/kernel/isolation.c
+++ b/kernel/isolation.c
@@ -43,8 +43,14 @@ int __init task_isolation_init(void)
{
/* For offstack cpumask, ensure we allocate an empty cpumask early. */
if (!saw_boot_arg) {
+#ifdef CONFIG_TASK_ISOLATION_ALL
+ alloc_cpumask_var(&task_isolation_map, GFP_KERNEL);
+ cpumask_copy(task_isolation_map, cpu_possible_mask);
+ cpumask_clear_cpu(smp_processor_id(), task_isolation_map);
+#else
zalloc_cpumask_var(&task_isolation_map, GFP_KERNEL);
return 0;
+#endif
}
/*
--
2.7.2
Back to top | Article view | linux.kernel
csiph-web