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: Mon, 20 Dec 2010 16:24:19 +0100 From: Frederic Weisbecker <fweisbec@...il.com> To: LKML <linux-kernel@...r.kernel.org> Cc: LKML <linux-kernel@...r.kernel.org>, Frederic Weisbecker <fweisbec@...il.com>, Thomas Gleixner <tglx@...utronix.de>, Peter Zijlstra <a.p.zijlstra@...llo.nl>, "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>, Ingo Molnar <mingo@...e.hu>, Steven Rostedt <rostedt@...dmis.org>, Lai Jiangshan <laijs@...fujitsu.com>, Andrew Morton <akpm@...ux-foundation.org>, Anton Blanchard <anton@....ibm.com>, Tim Pepper <lnxninja@...ux.vnet.ibm.com> Subject: [RFC PATCH 12/15] clocksource: Ignore nohz task cpu in clocksource watchdog The watchdog should probably make an exception for nohz task cpus that want to be interrupted the least possible. However we probably need to warn the user about that. Another solution would be to make this timer defferable. Signed-off-by: Frederic Weisbecker <fweisbec@...il.com> Cc: Thomas Gleixner <tglx@...utronix.de> Cc: Peter Zijlstra <a.p.zijlstra@...llo.nl> Cc: Paul E. McKenney <paulmck@...ux.vnet.ibm.com> Cc: Ingo Molnar <mingo@...e.hu> Cc: Steven Rostedt <rostedt@...dmis.org> Cc: Lai Jiangshan <laijs@...fujitsu.com> Cc: Andrew Morton <akpm@...ux-foundation.org> Cc: Anton Blanchard <anton@....ibm.com> Cc: Tim Pepper <lnxninja@...ux.vnet.ibm.com> --- kernel/time/clocksource.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c index c18d7ef..9e62a97 100644 --- a/kernel/time/clocksource.c +++ b/kernel/time/clocksource.c @@ -302,9 +302,13 @@ static void clocksource_watchdog(unsigned long data) * Cycle through CPUs to check if the CPUs stay synchronized * to each other. */ - next_cpu = cpumask_next(raw_smp_processor_id(), cpu_online_mask); - if (next_cpu >= nr_cpu_ids) - next_cpu = cpumask_first(cpu_online_mask); + next_cpu = raw_smp_processor_id(); + do { + next_cpu = cpumask_next(next_cpu, cpu_online_mask); + if (next_cpu >= nr_cpu_ids) + next_cpu = cpumask_first(cpu_online_mask); + } while (cpu_has_nohz_task(next_cpu)); + watchdog_timer.expires += WATCHDOG_INTERVAL; add_timer_on(&watchdog_timer, next_cpu); out: -- 1.7.3.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists