Re: [PATCH -tip/perf/core] perf, x86: P4 PMU - Drop redundantWARN_ON_ONCE

From: Cyrill Gorcunov
Date: Wed Jul 06 2011 - 13:41:39 EST


On Wed, Jul 06, 2011 at 01:38:41PM -0400, Steven Rostedt wrote:
> On Wed, 2011-07-06 at 21:24 +0400, Cyrill Gorcunov wrote:
> > This WARN_ON_ONCE triggers a false alarm on SMP because
> > nmi-watchdog uses a single global 'wd_hw_attr' variable
> > to serve perf event attributes and once p4_hw_watchdog_set_attr
> > has modified it subsequent calls on the rest cpus trigger
> > the warning.
> >
> > It is safe to simply drop it since we know the caller may
> > pass already altered type and config.
> >
> > Repoted-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
>
> Repoted? Hmm, maybe symbolically I put this code in a different pot.
>
> Reported-and-tested-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
>

Oh, really sorry, Steven :/ Fingers... Just to have all in place.
---
perf, x86: P4 PMU - Drop redundant WARN_ON_ONCE

This WARN_ON_ONCE triggers a false alarm on SMP because
nmi-watchdog uses a single global 'wd_hw_attr' variable
to serve perf event attributes and once p4_hw_watchdog_set_attr
has modified it subsequent calls on the rest cpus trigger
the warning.

It is safe to simply drop it since we know the caller may
pass already altered type and config.

Reported-and-tested-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
---
arch/x86/kernel/cpu/perf_event_p4.c | 3 ---
1 file changed, 3 deletions(-)

Index: linux-2.6.git/arch/x86/kernel/cpu/perf_event_p4.c
===================================================================
--- linux-2.6.git.orig/arch/x86/kernel/cpu/perf_event_p4.c
+++ linux-2.6.git/arch/x86/kernel/cpu/perf_event_p4.c
@@ -726,9 +726,6 @@ static void p4_hw_watchdog_set_attr(stru
* that named "non-sleeping" ticks as recommended
* by Intel SDM Vol3b.
*/
- WARN_ON_ONCE(wd_attr->type != PERF_TYPE_HARDWARE ||
- wd_attr->config != PERF_COUNT_HW_CPU_CYCLES);
-
wd_attr->type = PERF_TYPE_RAW;
wd_attr->config =
p4_config_pack_escr(P4_ESCR_EVENT(P4_EVENT_EXECUTION_EVENT) |
--
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/