perf list: Remove s390 specific strcmp_cpuid_cmp function
Make the type field in pmu-events/arch/s390/mapfile.cvs more generic to match the created cpuid string for s390. The pattern also checks for the counter first version number and counter second version number ([13]\.[1-5]) and the authorization field which follows. These numbers do not exist in the cpuid identification string when perf commands are executed on a z/VM environment (which does not support CPU counter measurement facility). CPUID string for LPAR: cpuid : IBM,3906,704,M03,3.5,002f CPUID string for z/VM: cpuid : IBM,2964,702,N96 This allows the removal of s390 specific cpuid compare code and uses the common compare function with its regular expression matching algorithm. Signed-off-by: Thomas Richter <tmricht@linux.ibm.com> Reviewed-by: Hendrik Brueckner <brueckner@linux.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Link: http://lkml.kernel.org/r/20180423081745.3672-1-tmricht@linux.ibm.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:

committed by
Arnaldo Carvalho de Melo

parent
ee05d21791
commit
ce04abfbd3
@@ -146,21 +146,3 @@ char *get_cpuid_str(struct perf_pmu *pmu __maybe_unused)
|
||||
zfree(&buf);
|
||||
return buf;
|
||||
}
|
||||
|
||||
/*
|
||||
* Compare the cpuid string returned by get_cpuid() function
|
||||
* with the name generated by the jevents file read from
|
||||
* pmu-events/arch/s390/mapfile.csv.
|
||||
*
|
||||
* Parameter mapcpuid is the cpuid as stored in the
|
||||
* pmu-events/arch/s390/mapfile.csv. This is just the type number.
|
||||
* Parameter cpuid is the cpuid returned by function get_cpuid().
|
||||
*/
|
||||
int strcmp_cpuid_str(const char *mapcpuid, const char *cpuid)
|
||||
{
|
||||
char *cp = strchr(cpuid, ',');
|
||||
|
||||
if (cp == NULL)
|
||||
return -1;
|
||||
return strncmp(cp + 1, mapcpuid, strlen(mapcpuid));
|
||||
}
|
||||
|
Reference in New Issue
Block a user