2009/8/11 tip-bot for Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>: > Commit-ID: 0d01f31439c1e4d602bf9fdc924ab66f407f5e38 > Gitweb: http://git.kernel.org/tip/0d01f31439c1e4d602bf9fdc924ab66f407f5e38 > Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > AuthorDate: Sun, 9 Aug 2009 21:44:49 -0700 > Committer: Ingo Molnar <mingo@xxxxxxx> > CommitDate: Tue, 11 Aug 2009 09:54:17 +0200 > > x86, mce: therm_throt - change when we print messages > > My Latitude d630 seems to be handling thermal events in SMI by > lowering the max frequency of the CPU till it cools down but > still leaks the "everything is normal" events. > > This spams the console and with high priority printks. > > Adjust therm_throt driver to only print messages about the fact > that temperatire returned back to normal when leaving the > throttling state. > > Also lower the severity of "back to normal" message from > KERN_CRIT to KERN_INFO. > > Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> > Acked-by: H. Peter Anvin <hpa@xxxxxxxxx> > LKML-Reference: <20090810051513.0558F526EC9@xxxxxxxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Ingo Molnar <mingo@xxxxxxx> > > > --- > arch/x86/kernel/cpu/mcheck/therm_throt.c | 18 +++++++++++------- > 1 files changed, 11 insertions(+), 7 deletions(-) > > diff --git a/arch/x86/kernel/cpu/mcheck/therm_throt.c b/arch/x86/kernel/cpu/mcheck/therm_throt.c > index bff8dd1..8bc64cf 100644 > --- a/arch/x86/kernel/cpu/mcheck/therm_throt.c > +++ b/arch/x86/kernel/cpu/mcheck/therm_throt.c > @@ -36,6 +36,7 @@ > > static DEFINE_PER_CPU(__u64, next_check) = INITIAL_JIFFIES; > static DEFINE_PER_CPU(unsigned long, thermal_throttle_count); > +static DEFINE_PER_CPU(bool, thermal_throttle_active); > > static atomic_t therm_throt_en = ATOMIC_INIT(0); > > @@ -96,24 +97,27 @@ static int therm_throt_process(int curr) > { > unsigned int cpu = smp_processor_id(); > __u64 tmp_jiffs = get_jiffies_64(); > + bool was_throttled = __get_cpu_var(thermal_throttle_active); > + bool is_throttled = __get_cpu_var(thermal_throttle_active) = curr; This seems a little odd (or perhaps my lack of experience is showing...) - should it be: bool is_throttled = __get_cpu_var(thermal_throttle_active) == curr; ? > > - if (curr) > + if (is_throttled) > __get_cpu_var(thermal_throttle_count)++; > > - if (time_before64(tmp_jiffs, __get_cpu_var(next_check))) > + if (!(was_throttled ^ is_throttled) && > + time_before64(tmp_jiffs, __get_cpu_var(next_check))) > return 0; > > __get_cpu_var(next_check) = tmp_jiffs + CHECK_INTERVAL; > > /* if we just entered the thermal event */ > - if (curr) { > + if (is_throttled) { > printk(KERN_CRIT "CPU%d: Temperature above threshold, " > - "cpu clock throttled (total events = %lu)\n", cpu, > - __get_cpu_var(thermal_throttle_count)); > + "cpu clock throttled (total events = %lu)\n", > + cpu, __get_cpu_var(thermal_throttle_count)); > > add_taint(TAINT_MACHINE_CHECK); > - } else { > - printk(KERN_CRIT "CPU%d: Temperature/speed normal\n", cpu); > + } else if (was_throttled) { > + printk(KERN_INFO "CPU%d: Temperature/speed normal\n", cpu); > } > > return 1; > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > > > -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html