Re: [PATCH 2/2] perf,tools: check and re-organize evsel cpu maps

From: Jiri Olsa
Date: Thu Jul 02 2015 - 12:10:50 EST


On Tue, Jun 30, 2015 at 04:45:18PM +0000, Liang, Kan wrote:
>
> >
> > On Mon, Jun 29, 2015 at 12:55 PM, <kan.liang@xxxxxxxxx> wrote:
> > >
> > > From: Kan Liang <kan.liang@xxxxxxxxx>
> > >
> > > Some PMU events have cpumask, e.g uncore events. The cpu list set by
> > > user may be incompatible with event's cpumask.
> > > This patch will check the user defined cpu list. If the incompatible
> > > cpu is found, it will warn the user and discard the incompatible cpu.
> > > Only available cpu can be stored in evsel->cpus->map. If there is no
> > > cpu from cpu list compatible with event's cpumask. It will error out.
> > >
> > > Here is an example.
> > > According to cpumask, uncore should only available on CPU0 and CPU18.
> > > So the S0-C1 for uncore should not count.
> > >
> > I don't think this is correct. The cpumask is a default set of CPUs to be used
> > by perf. The cpumask does not indicate the ONLY CPUs on which to
> > monitor. It is just a default. You can monitor an uncore event using a CPU
> > not listed in the cpumask, unless the kernel code has changed recently. If
> > you are not on the default CPUs, the kernel will IPI.
> >
>
> Here I mean that the S0-C1 for uncore should show "<not counted>",
> as we showed the same thing on "perf stat -a --per-core".
>
> Yes, in theory, user can use a CPU not listed in the cpumask. Because
> uncore is per-socket event.
> However, it brings error and confusion.
> - As the below example, if we run -C0,1, we get two results for socket 0.
> I think it's incorrect. Per-socket event should only have one result
> per socket.
> - Since the cpumask has already been exported to user space, I think users
> should follow it. Otherwise, why we export cpumask to user space?
> Implicitly changing the monitored CPU in kernel is not a good way I think.

I dont follow uncore stuff much :-\ Stephane, does this make sense to you ^^^ ?
please check v2

thanks,
jirka
--
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/