lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 11 Mar 2016 17:10:15 -0500 From: Chris Metcalf <cmetcalf@...lanox.com> To: Gilad Ben Yossef <giladb@...hip.com>, Steven Rostedt <rostedt@...dmis.org>, Ingo Molnar <mingo@...nel.org>, Peter Zijlstra <peterz@...radead.org>, Andrew Morton <akpm@...ux-foundation.org>, "Rik van Riel" <riel@...hat.com>, Tejun Heo <tj@...nel.org>, Frederic Weisbecker <fweisbec@...il.com>, Thomas Gleixner <tglx@...utronix.de>, "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>, Christoph Lameter <cl@...ux.com>, Viresh Kumar <viresh.kumar@...aro.org>, Catalin Marinas <catalin.marinas@....com>, Will Deacon <will.deacon@....com>, Andy Lutomirski <luto@...capital.net>, <linux-doc@...r.kernel.org>, <linux-kernel@...r.kernel.org> CC: Chris Metcalf <cmetcalf@...lanox.com> Subject: [PATCH v11 05/13] task_isolation: support CONFIG_TASK_ISOLATION_ALL 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@...lanox.com> --- init/Kconfig | 10 ++++++++++ kernel/isolation.c | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/init/Kconfig b/init/Kconfig index 6cab348fe454..314b09347fba 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -802,6 +802,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 c67f77d217f9..f59dcf06ba56 100644 --- a/kernel/isolation.c +++ b/kernel/isolation.c @@ -40,8 +40,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
Powered by blists - more mailing lists