perf fixes
Linus,
Please pull the latest perf-urgent-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-urgent-for-linus
HEAD: a70270468234749741c5893ae78e5bb524771402 watchdog: Quiet down the boot messages
Thanks,
Ingo
------------------>
Don Zickus (1):
watchdog: Quiet down the boot messages
Stephane Eranian (1):
perf/x86: Fix broken LBR fixup code
Steven Rostedt (1):
tracing: Have tracing_off() actually turn tracing off
arch/x86/lib/usercopy.c | 2 +- kernel/trace/trace.c | 2 +- kernel/watchdog.c | 19 ++++++++++++++++++- 3 files changed, 20 insertions(+), 3 deletions(-)
arch/x86/lib/usercopy.c +1 -1
@@ -22,7 +22,7 @@ copy_from_user_nmi(void *to, const void __user *from, unsigned long n)void *map;int ret; -if (__range_not_ok (from, n,TASK_SIZE ) ==0 ) +if (__range_not_ok (from, n,TASK_SIZE ))return len; do {
kernel/trace/trace.c +1 -1
@@ -371,7 +371,7 @@ EXPORT_SYMBOL_GPL(tracing_on);void tracing_off (void ) {if (global_trace.buffer) -ring_buffer_record_on (global_trace.buffer); +ring_buffer_record_off (global_trace.buffer);/* * This flag is only looked at when buffers haven't been * allocated yet. We don't really care about the race
kernel/watchdog.c +18 -1
@@ -372,6 +372,13 @@ static int watchdog(void *unused)#ifdef CONFIG_HARDLOCKUP_DETECTOR +/* +* People like the simple clean cpu node info on boot. +* Reduce the watchdog noise by only printing messages +* that are different from what cpu0 displayed. +*/ +static unsigned long cpu0_err; +static int watchdog_nmi_enable (int cpu) {struct perf_event_attr *wd_attr;
@@ -390,11 +397,21 @@ static int watchdog_nmi_enable(int cpu)/* Try to register using hardware perf events */ event =perf_event_create_kernel_counter (wd_attr, cpu,NULL , watchdog_overflow_callback,NULL ); + +/* save cpu0 error for future comparision */ +if (cpu ==0 &&IS_ERR (event)) + cpu0_err =PTR_ERR (event); +if (!IS_ERR (event)) { -pr_info ("enabled, takes one hw-pmu counter.\n" ); +/* only print for cpu0 or different than cpu0 */ +if (cpu ==0 || cpu0_err) +pr_info ("enabled on all CPUs, permanently consumes one hw-PMU counter.\n" ); goto out_save; } +/* skip displaying the same error again */ +if (cpu >0 && (PTR_ERR (event) == cpu0_err)) +return PTR_ERR (event);/* vary the KERN level based on the returned errno */ if (PTR_ERR (event) == -EOPNOTSUPP )