Re: [PATCH v5 10/13] perf stat: Use affinity for opening events

From: Jiri Olsa
Date: Mon Nov 11 2019 - 08:31:15 EST


On Thu, Nov 07, 2019 at 10:16:43AM -0800, Andi Kleen wrote:

SNIP

> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index 2fb83aabbef5..9f8a9393ce4a 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -776,7 +776,7 @@ static int record__open(struct record *rec)
> if ((errno == EINVAL || errno == EBADF) &&
> pos->leader != pos &&
> pos->weak_group) {
> - pos = perf_evlist__reset_weak_group(evlist, pos);
> + pos = perf_evlist__reset_weak_group(evlist, pos, true);
> goto try_again;
> }
> rc = -errno;
> diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
> index 1a586009e5a7..7f9ec41d8f62 100644
> --- a/tools/perf/builtin-stat.c
> +++ b/tools/perf/builtin-stat.c
> @@ -65,6 +65,7 @@
> #include "util/target.h"
> #include "util/time-utils.h"
> #include "util/top.h"
> +#include "util/affinity.h"
> #include "asm/bug.h"
>
> #include <linux/time64.h>
> @@ -440,6 +441,7 @@ static enum counter_recovery stat_handle_error(struct evsel *counter)
> ui__warning("%s event is not supported by the kernel.\n",
> perf_evsel__name(counter));
> counter->supported = false;
> + counter->errored = true;

how is errored different from supported?
why can't you use it?

jirka