[RFC V3 1/3] perf, tools: Support wildcards on pmu name in dynamic pmu events

Agustin Vega-Frias agustinv at codeaurora.org
Wed Mar 7 11:49:50 PST 2018


On 2018-03-07 14:39, Arnaldo Carvalho de Melo wrote:
> Em Wed, Mar 07, 2018 at 04:05:43PM -0300, Arnaldo Carvalho de Melo 
> escreveu:
>> Em Wed, Mar 07, 2018 at 04:05:09PM -0300, Arnaldo Carvalho de Melo 
>> escreveu:
>> > Em Wed, Mar 07, 2018 at 10:54:15AM -0800, Andi Kleen escreveu:
>> > > > Sorry about that. That's probably because FNM_EXTMATCH is a GNU extension,
>> > > > not POSIX, and the Alpine and Android runtimes likely don't implement
>> > > > that...
>> > > > I'll send a fix reverting back to the strncmp to ignore the uncore_ prefix,
>> > > > and dropping that extension.
>> > >
>> > > Just don't set it? Even the basic glob patterns are useful.
>> >
>> > Or use:
>> >
>> > #ifndef FNM_EXTMATCH
>> > #define FNM_EXTMATCH 0
>> > #endif
>> >
>> > So on systems without it, its not used, while on GNU systems, we have
>> > that functionality (pretty fancy, someone may need that... ;-))
>> 
>> I'll try this route, btw, no need to send more patches for now.
> 
> So, with the patch at the end of this message, it works now in those
> systems:
> 
> [root at jouet ~]# dm
>    1 alpine:3.4                    : Ok   gcc (Alpine 5.3.0) 5.3.0
>    2 alpine:3.5                    : Ok   gcc (Alpine 6.2.1) 6.2.1 
> 20160822
>    3 alpine:3.6                    : Ok   gcc (Alpine 6.3.0) 6.3.0
>    4 alpine:edge                   : Ok   gcc (Alpine 6.4.0) 6.4.0
>    5 amazonlinux:1                 : Ok   gcc (GCC) 4.8.5 20150623
> (Red Hat 4.8.5-11)
>    6 amazonlinux:2                 : Ok   gcc (GCC) 7.2.1 20170915
> (Red Hat 7.2.1-2)
>    7 android-ndk:r12b-arm          : Ok   arm-linux-androideabi-gcc
> (GCC) 4.9.x 20150123 (prerelease)
>    8 android-ndk:r15c-arm          : Ok   arm-linux-androideabi-gcc
> (GCC) 4.9.x 20150123 (prerelease)
>    9 centos:5                      : Ok   gcc (GCC) 4.1.2 20080704
> (Red Hat 4.1.2-55)
>   10 centos:6                      : Ok   gcc (GCC) 4.4.7 20120313
> (Red Hat 4.4.7-18)
> 
> I stopped the test at this point to process some more patches, will
> restart the tests with those extra patches and if all goes well with 
> the
> other 46 build environments, push upstream, thanks.
> 
> - Arnaldo
> 
> diff --git a/tools/perf/util/parse-events.y 
> b/tools/perf/util/parse-events.y
> index 316ac073aa78..18473be7d787 100644
> --- a/tools/perf/util/parse-events.y
> +++ b/tools/perf/util/parse-events.y
> @@ -9,6 +9,13 @@
>  #define YYDEBUG 1
> 
>  #include <fnmatch.h>
> +/*
> + * GNU extension, so better define it to 0 for systems such
> + * as Android and Alpine Linux.
> + */
> +#ifndef FNM_EXTMATCH
> +#define FNM_EXTMATCH 0
> +#endif
>  #include <linux/compiler.h>
>  #include <linux/list.h>
>  #include <linux/types.h>

Hey Jiri,

The downside is that, while the compilation now works on those
systems, the pattern will not work as intended in them :o(
Let me cook something and send it ASAP.

Thanks,
Agustín

-- 
Qualcomm Datacenter Technologies, Inc. on behalf of the Qualcomm 
Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a 
Linux Foundation Collaborative Project.



More information about the linux-arm-kernel mailing list