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

From: John Garry
Date: Fri Jun 28 2019 - 06:46:05 EST


On 28/06/2019 11:40, Jiri Olsa wrote:
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


Hi jirka,

ok, plz put something like above into comment


ok, can do.

Thanks again,
John

thanks,
jirka

.