Re: [PATCH v2 2/5] perf pmu: Support more complex PMU event aliasing

From: Jiri Olsa
Date: Fri Jun 28 2019 - 06:40:54 EST


On Thu, Jun 27, 2019 at 05:27:32PM +0100, John Garry wrote:

SNIP

> > >
> > > heya,
> > > sry for late reply
> > >
> > > >
> > > > > if tok is NULL in here we crash
> > > > >
> > > >
> > > > As I see, tok could not be NULL. If str contains no delimiters, then
> > > > we just
> > > > return same as str in tok.
> > > >
> > > > Can you see tok being NULL?
> > >
> > > well, if there's no ',' in the str it returns NULL, right?
> >
> > No, it would return str in tok.

ok

> >
> > > and IIUC this function is still called for standard uncore
> > > pmu names
> > >
> > > >
> > > > > > + res = false;
> > > > > > + goto out;
> > > > > > + }
> > > > > > +
> > > > > > + for (; tok; name += strlen(tok), tok = strtok_r(NULL, ",",
> > > > > > &tmp)) {
> > > > >
> > > > > why is name shifted in here?
> > > >
> > > > I want to ensure that we match the tokens in order and also guard
> > > > against
> > > > possible repeated token matches in 'name'.
> > >
> > > i might not understand this correctly.. so
> > >
> > > str is the alias name that can contain ',' now, like:
> > > hisi_sccl,ddrc
> >
> > For example of pmu_nmame=hisi_sccl,ddrc and pmu=hisi_sccl1_ddrc0, we
> > match in this sequence:
> >
> > loop 1. tok=hisi_sccl name=hisi_sccl1_ddrc0
> > loop 2. tok=ddrc name=ddrc0
> > loop 3. tok=NULL -> breakout and return true

ok, plz put something like above into comment

thanks,
jirka