Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf tools: Allow to use cpuinfo on LoongArch

Define these macros so that the CPU name can be displayed when running
'perf report' and 'perf timechart'.

Committer notes:

No need to have:

if (strcasestr(buf, "Model Name")) {
strlcpy(cpu_m, &buf[13], 255);
break;
} else if (strcasestr(buf, "model name")) {
strlcpy(cpu_m, &buf[13], 255);
break;
}

As the point of strcasestr() is to be case insensitive to both the
haystack and the needle, so simplify the above to just:

if (strcasestr(buf, "model name")) {
strlcpy(cpu_m, &buf[13], 255);
break;
}

Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
Acked-by: Huacai Chen <chenhuacai@loongson.cn>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: loongarch@lists.linux.dev
Cc: loongson-kernel@lists.loongnix.cn
Link: https://lore.kernel.org/r/db968a186a10e4629fe10c26a1210f7126ad41ec.1692962043.git.siyanteng@loongson.cn
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

Yanteng Si and committed by
Arnaldo Carvalho de Melo
c56f286f 0f2418fd

+3 -1
+2
tools/perf/util/header.c
··· 456 456 #define CPUINFO_PROC { "Processor", } 457 457 #elif defined(__xtensa__) 458 458 #define CPUINFO_PROC { "core ID", } 459 + #elif defined(__loongarch__) 460 + #define CPUINFO_PROC { "Model Name", } 459 461 #else 460 462 #define CPUINFO_PROC { "model name", } 461 463 #endif
+1 -1
tools/perf/util/svghelper.c
··· 331 331 file = fopen("/proc/cpuinfo", "r"); 332 332 if (file) { 333 333 while (fgets(buf, 255, file)) { 334 - if (strstr(buf, "model name")) { 334 + if (strcasestr(buf, "model name")) { 335 335 strlcpy(cpu_m, &buf[13], 255); 336 336 break; 337 337 }