All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Fleming <matt@codeblueprint.co.uk>
To: Jiri Olsa <jolsa@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>,
	linux-kernel@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
	Andi Kleen <andi@firstfloor.org>, Vince Weaver <vince@deater.net>,
	Matt Fleming <matt.fleming@intel.com>,
	Peter Zijlstra <peterz@infradead.org>
Subject: Re: [RFC][PATCH] perf tests: Add Intel CQM and arch tests
Date: Wed, 22 Jul 2015 23:18:51 +0100	[thread overview]
Message-ID: <20150722221851.GA7851@codeblueprint.co.uk> (raw)
In-Reply-To: <20150722132444.GC28330@krava.brq.redhat.com>

On Wed, 22 Jul, at 03:24:44PM, Jiri Olsa wrote:
> On Wed, Jul 22, 2015 at 11:38:59AM +0100, Matt Fleming wrote:
> > From: Matt Fleming <matt.fleming@intel.com>
> > 
> > Peter reports that it's possible to trigger a WARN_ON_ONCE() in the
> > Intel CQM code by combining a hardware event and an Intel CQM (software)
> > event into a group. Unfortunately, the perf tools are not able to create
> > this bundle and we need to manually construct a test case.
> > 
> > For posterity, record Peter's proof of concept test case in tools/perf
> > so that it presents a model for how we can perform architecture-specific
> > tests, or "arch tests", in perf in the future.
> > 
> > The particular issue triggered in the test case is that when the counter
> > for the hardware event overflows and triggers a PMI we'll read both the
> > hardware event and the software event counters. Unfortunately, for CQM
> > that involves performing an IPI to read the CQM event counters on all
> > sockets, which in NMI context triggers the WARN_ON_ONCE().
> > 
> > This patch is marked as RFC because I'd really like to solicit opinions
> > on this approach and hear feedback on whether this is the correct way to
> > structure these arch tests. I realise that we've already got tests for
> > the TSC, etc that are x86-specific but I didn't want to change the order
> > of the tests (say, by moving test__perf_time_to_tsc() into ARCH_TESTS)
> > in case that broke some kind of ABI.
> 
> I wouldn't consider the order of tests being ABI,
> let's break it and watch ;-)

OK, that at least allows me to perform a litte more surgery on the
current tests.

> > diff --git a/tools/perf/arch/x86/include/arch-tests.h b/tools/perf/arch/x86/include/arch-tests.h
> > new file mode 100644
> > index 000000000000..9d43f759e014
> > --- /dev/null
> > +++ b/tools/perf/arch/x86/include/arch-tests.h
> > @@ -0,0 +1,13 @@
> > +#ifndef ARCH_TESTS_H
> > +#define ARCH_TESTS_H
> > +
> > +/* Tests */
> > +int test__intel_cqm_count_nmi_context(void);
> > +
> > +#define ARCH_TESTS						\
> > +	{							\
> > +		.desc = "Test intel cqm nmi context read",	\
> > +		.func = test__intel_cqm_count_nmi_context,	\
> > +	},
> > +
> 
> hum, I dont like much this being stuffed in macro,
> but dont have any technical reason against ;-)
> 
> maybe we could add 'struct test arch_tests[]' array, that'd be
> initialized by each arch and executed in addition to the current
> 'struct test tests[]'

Makes sense to me. I'll take that approach. Thanks.

-- 
Matt Fleming, Intel Open Source Technology Center

      parent reply	other threads:[~2015-07-22 22:18 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-22 10:38 [RFC][PATCH] perf tests: Add Intel CQM and arch tests Matt Fleming
2015-07-22 13:24 ` Jiri Olsa
2015-07-22 13:50   ` Arnaldo Carvalho de Melo
2015-07-22 22:18   ` Matt Fleming [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150722221851.GA7851@codeblueprint.co.uk \
    --to=matt@codeblueprint.co.uk \
    --cc=acme@redhat.com \
    --cc=andi@firstfloor.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt.fleming@intel.com \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=vince@deater.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.