x86/aperfmperf: Untangle Intel and AMD frequency invariance init
authorThomas Gleixner <tglx@linutronix.de>
Fri, 15 Apr 2022 19:19:54 +0000 (21:19 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 27 Apr 2022 18:22:19 +0000 (20:22 +0200)
commit0dfaf3f6ecc0c7f4f876255aa82e8959d3721365
tree18882f052822ae061437d6f1c7485187d1429262
parent138a7f9c6beae8d652113b8e7a44994b4200bbcd
x86/aperfmperf: Untangle Intel and AMD frequency invariance init

AMD boot CPU initialization happens late via ACPI/CPPC which prevents the
Intel parts from being marked __init.

Split out the common code and provide a dedicated interface for the AMD
initialization and mark the Intel specific code and data __init.

The remaining text size is almost cut in half:

  text: 2614 -> 1350
  init.text:    0 ->  786

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.592465719@linutronix.de
arch/x86/include/asm/topology.h
arch/x86/kernel/acpi/cppc.c
arch/x86/kernel/cpu/aperfmperf.c
arch/x86/kernel/smpboot.c