sched: Notify hrtimer users of switches to NOHZ mode
PATCH 1/1 sched: Notify hrtimer users of switches to NOHZ mode
When NOHZ=y and high res timers are disabled (via cmdline or Kconfig) tick_nohz_switch_to_nohz() will notify the user about switching into NOHZ mode. Nothing is printed for the case where HIGH_RES_TIMERS=y. Fix this for the HIGH_RES_TIMERS=y case by duplicating the printk from the low res NOHZ path in the high res NOHZ path.
---
This confused me since I was thinking 'dmesg | grep -i NOHZ' would tell me if NOHZ was enabled, but if I have hrtimers there is nothing. If we don't do this we should probably remove the original printk.
kernel/time/tick-sched.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
kernel/time/tick-sched.c +4 -1
@@ -795,8 +795,11 @@ void tick_setup_sched_timer(void) }#ifdef CONFIG_NO_HZ -if (tick_nohz_enabled) +if (tick_nohz_enabled) { ts->nohz_mode =NOHZ_MODE_HIGHRES ; +pr_info ("Switched to NOHz mode on CPU #%d\n" , +smp_processor_id ()); + }#endif }#endif /* HIGH_RES_TIMERS */
Signature · 2 lines
Sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
Quoted 7 lines · Stephen Boyd
When NOHZ=y and high res timers are disabled (via cmdline or
Kconfig)tick_nohz_switch_to_nohz()will notify the user about switching into NOHZ mode. Nothing is printed for the case where HIGH_RES_TIMERS=y. Fix this for the HIGH_RES_TIMERS=y case by duplicating the printk from the low res NOHZ path in the high res NOHZ path.
Quoted 7 lines
Signed-off-by Stephen Boyd <[email protected]>---
This confused me since I was thinking 'dmesg | grep -i NOHZ' would tell me if NOHZ was enabled, but if I have hrtimers there is nothing. If we don't do this we should probably remove the original printk.
I'm not quite sure we want _more_ dmesg chatter, how about you look at the output of:
grep -e "^cpu" -e "nohz" /proc/timer_list
instead?
Quoted 20 lines
kernel/time/tick-sched.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)kernel/time/tick-sched.c +4
-1@@ -795,8 +795,11 @@ void tick_setup_sched_timer(void) }#ifdef CONFIG_NO_HZ -if (tick_nohz_enabled) +if (tick_nohz_enabled) { ts->nohz_mode =NOHZ_MODE_HIGHRES ; +pr_info ("Switched to NOHz mode on CPU #%d\n" , +smp_processor_id ()); + }#endif }#endif /* HIGH_RES_TIMERS */
Quoted 11 lines · Peter Zijlstra
Quoted 10 lines · Stephen Boyd
When NOHZ=y and high res timers are disabled (via cmdline or
Kconfig)tick_nohz_switch_to_nohz()will notify the user about switching into NOHZ mode. Nothing is printed for the case where HIGH_RES_TIMERS=y. Fix this for the HIGH_RES_TIMERS=y case by duplicating the printk from the low res NOHZ path in the high res NOHZ path.Signed-off-by Stephen Boyd <[email protected]>---
Quoted 6 lines
Quoted 4 lines
This confused me since I was thinking 'dmesg | grep -i NOHZ' would tell me if NOHZ was enabled, but if I have hrtimers there is nothing. If we don't do this we should probably remove the original printk.
I'm not quite sure we want _more_ dmesg chatter, [...]
Well, we used to have bugs in the past where the system locked up after changing the main hrtimer mode, so the messages are useful.
This patch completes the messages in that sense and makes them consistent. If we want to remove them altogether that would be another patch.
Thanks,
Ingo
[tip:timers/urgent] hrtimers: Notify hrtimer users of switches to NOHZ mode
In reply to Stephen BoydCommit-ID: fe96565ce90aca25786d709ebb5fb5e49b8bbafe Gitweb: http://git.kernel.org/tip/fe96565ce90aca25786d709ebb5fb5e49b8bbafe Author: Stephen Boyd <[email protected]> AuthorDate: Tue, 18 Jan 2011 22:46:34 -0800 Committer: Ingo Molnar <[email protected]> CommitDate: Wed, 19 Jan 2011 12:08:44 +0100
hrtimers: Notify hrtimer users of switches to NOHZ mode
When NOHZ=y and high res timers are disabled (via cmdline or Kconfig) tick_nohz_switch_to_nohz() will notify the user about switching into NOHZ mode. Nothing is printed for the case where HIGH_RES_TIMERS=y. Fix this for the HIGH_RES_TIMERS=y case by duplicating the printk from the low res NOHZ path in the high res NOHZ path.
This confused me since I was thinking 'dmesg | grep -i NOHZ' would tell me if NOHZ was enabled, but if I have hrtimers there is nothing.
LKML-Reference: <[email protected]>
--- kernel/time/tick-sched.c | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-)
kernel/time/tick-sched.c +5 -4
@@ -640,10 +640,8 @@ static void tick_nohz_switch_to_nohz(void)break ; next =ktime_add (next, tick_period); } +printk (KERN_INFO "Switched to NOHz mode on CPU #%d\n" ,smp_processor_id ());local_irq_enable (); - -printk (KERN_INFO "Switched to NOHz mode on CPU #%d\n" , -smp_processor_id ()); }/*
@@ -795,8 +793,11 @@ void tick_setup_sched_timer(void) }#ifdef CONFIG_NO_HZ -if (tick_nohz_enabled) +if (tick_nohz_enabled) { ts->nohz_mode =NOHZ_MODE_HIGHRES ; +pr_info ("Switched to NOHz mode on CPU #%d\n" , +smp_processor_id ()); + }#endif }#endif /* HIGH_RES_TIMERS */
[tip:timers/urgent] hrtimers: Notify hrtimer users of switches to NOHZ mode
In reply to Stephen BoydCommit-ID: 2d0640b47da74cff7c11642c798d40de861ed524 Gitweb: http://git.kernel.org/tip/2d0640b47da74cff7c11642c798d40de861ed524 Author: Stephen Boyd <[email protected]> AuthorDate: Tue, 18 Jan 2011 22:46:34 -0800 Committer: Ingo Molnar <[email protected]> CommitDate: Wed, 19 Jan 2011 20:08:15 +0100
hrtimers: Notify hrtimer users of switches to NOHZ mode
When NOHZ=y and high res timers are disabled (via cmdline or Kconfig) tick_nohz_switch_to_nohz() will notify the user about switching into NOHZ mode. Nothing is printed for the case where HIGH_RES_TIMERS=y. Fix this for the HIGH_RES_TIMERS=y case by duplicating the printk from the low res NOHZ path in the high res NOHZ path.
This confused me since I was thinking 'dmesg | grep -i NOHZ' would tell me if NOHZ was enabled, but if I have hrtimers there is nothing.
LKML-Reference: <[email protected]>
--- kernel/time/tick-sched.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
kernel/time/tick-sched.c +4 -3
@@ -642,8 +642,7 @@ static void tick_nohz_switch_to_nohz(void) }local_irq_enable (); -printk (KERN_INFO "Switched to NOHz mode on CPU #%d\n" , -smp_processor_id ()); +printk (KERN_INFO "Switched to NOHz mode on CPU #%d\n" ,smp_processor_id ()); }/*
@@ -795,8 +794,10 @@ void tick_setup_sched_timer(void) }#ifdef CONFIG_NO_HZ -if (tick_nohz_enabled) +if (tick_nohz_enabled) { ts->nohz_mode =NOHZ_MODE_HIGHRES ; +printk (KERN_INFO "Switched to NOHz mode on CPU #%d\n" ,smp_processor_id ()); + }#endif }#endif /* HIGH_RES_TIMERS */