All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Jiri Olsa <jolsa@kernel.org>
Cc: Thomas-Mich Richter <tmricht@linux.ibm.com>,
	Kim Phillips <kim.phillips@arm.com>,
	lkml <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	David Ahern <dsahern@gmail.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	linux-perf-users@vger.kernel.org, brueckner@linux.vnet.ibm.com,
	schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com
Subject: Re: [PATCH 2/2] perf tests: Add valid callback for parse-events test
Date: Wed, 13 Jun 2018 17:01:20 -0300	[thread overview]
Message-ID: <20180613200120.GF2686@kernel.org> (raw)
In-Reply-To: <20180611093422.1005-2-jolsa@kernel.org>

Em Mon, Jun 11, 2018 at 11:34:22AM +0200, Jiri Olsa escreveu:
> Adding optional 'valid' callback for events tests in
> parse-events object, so we don't try to parse PMUs,
> which are not supported.
> 
> Following line is displayed for skipped test:
> 
>   running test 52 'intel_pt//u'... SKIP

Would be nice to test the _parsing_ of this even on machines where this
PMU is not present, as developers using these machines as workstations
may end up breaking this.

Anyway, intel_pt now is in tons of machines, so should be caught easily,
if not by anyone, by me ;-\

- Arnaldo
 
> Link: http://lkml.kernel.org/n/tip-to9naisphr61z23b0br10xhh@git.kernel.org
> Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> ---
>  tools/perf/tests/parse-events.c | 17 +++++++++++++++--
>  1 file changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/tests/parse-events.c b/tools/perf/tests/parse-events.c
> index 3b0bfdf5a594..347378ddaa8b 100644
> --- a/tools/perf/tests/parse-events.c
> +++ b/tools/perf/tests/parse-events.c
> @@ -1309,6 +1309,11 @@ static int test__checkevent_config_cache(struct perf_evlist *evlist)
>  	return 0;
>  }
>  
> +static bool test__intel_pt_valid(void)
> +{
> +	return !!perf_pmu__find("intel_pt");
> +}
> +
>  static int test__intel_pt(struct perf_evlist *evlist)
>  {
>  	struct perf_evsel *evsel = perf_evlist__first(evlist);
> @@ -1375,6 +1380,7 @@ struct evlist_test {
>  	const char *name;
>  	__u32 type;
>  	const int id;
> +	bool (*valid)(void);
>  	int (*check)(struct perf_evlist *evlist);
>  };
>  
> @@ -1648,6 +1654,7 @@ static struct evlist_test test__events[] = {
>  	},
>  	{
>  		.name  = "intel_pt//u",
> +		.valid = test__intel_pt_valid,
>  		.check = test__intel_pt,
>  		.id    = 52,
>  	},
> @@ -1690,6 +1697,11 @@ static int test_event(struct evlist_test *e)
>  	struct perf_evlist *evlist;
>  	int ret;
>  
> +	if (e->valid && !e->valid()) {
> +		pr_debug("... SKIP");
> +		return 0;
> +	}
> +
>  	evlist = perf_evlist__new();
>  	if (evlist == NULL)
>  		return -ENOMEM;
> @@ -1716,10 +1728,11 @@ static int test_events(struct evlist_test *events, unsigned cnt)
>  	for (i = 0; i < cnt; i++) {
>  		struct evlist_test *e = &events[i];
>  
> -		pr_debug("running test %d '%s'\n", e->id, e->name);
> +		pr_debug("running test %d '%s'", e->id, e->name);
>  		ret1 = test_event(e);
>  		if (ret1)
>  			ret2 = ret1;
> +		pr_debug("\n");
>  	}
>  
>  	return ret2;
> @@ -1801,7 +1814,7 @@ static int test_pmu_events(void)
>  	}
>  
>  	while (!ret && (ent = readdir(dir))) {
> -		struct evlist_test e;
> +		struct evlist_test e = { 0 };
>  		char name[2 * NAME_MAX + 1 + 12 + 3];
>  
>  		/* Names containing . are special and cannot be used directly */
> -- 
> 2.13.6

  reply	other threads:[~2018-06-13 20:01 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-08 13:17 [PATCH] perf test: Test 6 dumps core on s390 Thomas Richter
2018-06-08 14:53 ` Kim Phillips
2018-06-08 14:53   ` Kim Phillips
2018-06-11  7:00   ` Thomas-Mich Richter
2018-06-11  9:07     ` Jiri Olsa
2018-06-11  9:34     ` [PATCH 1/2] perf tests: Add event parsing error handling to parse events test Jiri Olsa
2018-06-11  9:34       ` [PATCH 2/2] perf tests: Add valid callback for parse-events test Jiri Olsa
2018-06-13 20:01         ` Arnaldo Carvalho de Melo [this message]
2018-06-26  6:53         ` [tip:perf/urgent] " tip-bot for Jiri Olsa
2018-06-11 17:04       ` [PATCH 1/2] perf tests: Add event parsing error handling to parse events test Kim Phillips
2018-06-11 17:04         ` Kim Phillips
2018-06-26  6:53       ` [tip:perf/urgent] " tip-bot for Jiri Olsa

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=20180613200120.GF2686@kernel.org \
    --to=acme@kernel.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=brueckner@linux.vnet.ibm.com \
    --cc=dsahern@gmail.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=jolsa@kernel.org \
    --cc=kim.phillips@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=schwidefsky@de.ibm.com \
    --cc=tmricht@linux.ibm.com \
    /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.