vppinfra: fix cpu freq init error if cpu support aperfmperf

After linux-v4.15, 'cpu MHz' in /proc/cpuinfo is CPU
real frequency on x86 if cpu support aperfmperf flags

more see linux commit: 
7d5905dc14

Type: fix
Change-Id: Ib655a9a1c519104142120b343cd8ddbe0b6e50e6
Signed-off-by: Xiaoming Jiang <jiangxiaoming@outlook.com>
This commit is contained in:
Xiaoming Jiang
2024-02-22 21:24:20 +08:00
committed by Fan Zhang
parent 357291142b
commit 04da324260
2 changed files with 6 additions and 2 deletions

View File

@ -150,6 +150,7 @@ _CLIB_MARCH_FN_REGISTRATION(fn)
_ (movdir64b, 7, ecx, 28) \
_ (enqcmd, 7, ecx, 29) \
_ (avx512_fp16, 7, edx, 23) \
_ (aperfmperf, 0x00000006, ecx, 0) \
_ (invariant_tsc, 0x80000007, edx, 8) \
_ (monitorx, 0x80000001, ecx, 29)

View File

@ -76,8 +76,11 @@ clock_frequency_from_proc_filesystem (void)
f64 ppc_timebase = 0; /* warnings be gone */
unformat_input_t input;
/* $$$$ aarch64 kernel doesn't report "cpu MHz" */
#if defined(__aarch64__)
#if defined(__x86_64__)
if (clib_cpu_supports_aperfmperf ())
return 0.0;
#elif defined(__aarch64__)
/* $$$$ aarch64 kernel doesn't report "cpu MHz" */
return 0.0;
#endif