diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2022-04-15 21:19:59 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2022-04-27 20:22:19 +0200 |
commit | bb6e89df9028b2fab0ce6ac71cd9ef25b6ada32d (patch) | |
tree | 5440e10c14c8d2f32939a982f348ae83564b7b19 /arch/x86/include/asm/jailhouse_para.h | |
parent | x86/aperfmperf: Restructure arch_scale_freq_tick() (diff) | |
download | linux-bb6e89df9028b2fab0ce6ac71cd9ef25b6ada32d.tar.xz linux-bb6e89df9028b2fab0ce6ac71cd9ef25b6ada32d.zip |
x86/aperfmperf: Make parts of the frequency invariance code unconditional
The frequency invariance support is currently limited to x86/64 and SMP,
which is the vast majority of machines.
arch_scale_freq_tick() is called every tick on all CPUs and reads the APERF
and MPERF MSRs. The CPU frequency getters function do the same via dedicated
IPIs.
While it could be argued that on systems where frequency invariance support
is disabled (32bit, !SMP) the per tick read of the APERF and MPERF MSRs can
be avoided, it does not make sense to keep the extra code and the resulting
runtime issues of mass IPIs around.
As a first step split out the non frequency invariance specific
initialization code and the read MSR portion of arch_scale_freq_tick(). The
rest of the code is still conditional and guarded with a static key.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Paul E. McKenney <paulmck@kernel.org>
Link: https://lore.kernel.org/r/20220415161206.761988704@linutronix.de
Diffstat (limited to 'arch/x86/include/asm/jailhouse_para.h')
0 files changed, 0 insertions, 0 deletions