mbox series

[v10,0/4] SRF: Fix offline CPU preventing pc6 entry

Message ID 20250205152057.171030-1-artem.bityutskiy@linux.intel.com (mailing list archive)
Headers show
Series SRF: Fix offline CPU preventing pc6 entry | expand

Message

Artem Bityutskiy Feb. 5, 2025, 3:20 p.m. UTC
Code for determining the mwait hint for the deepest C-state by
inspecting CPUID leaf 0x5 in mwait_play_dead() assumes that, if the
number of sub-states for a given major C-state is nonzero, those
sub-states are always represented by consecutive numbers starting from
0. This assumption is not based on the documented platform behavior and
in fact it is not met on recent Intel platforms.

Changes since v9:
  * Patch 3/4: remove the '__cpuidle' instrumentation tag from
    intel_idle_enter_dead() to address this objtool warning: call to
    cpuidle_get_cpu_driver() leaves .noinstr.text section.
  * Patch 1/4: rename 'hint' to 'eax_hint' in the !CONFIG_SMP for
    consistency.

Tested on AMD Milan platform and on a couple of Intel platforms.

Artem Bityutskiy (4):
  x86/smp: Allow calling mwait_play_dead with an arbitrary hint
  ACPI: processor_idle: Add FFH state handling
  intel_idle: Provide the default enter_dead() handler
  x86/smp: Eliminate mwait_play_dead_cpuid_hint()

 arch/x86/include/asm/smp.h    |  3 +++
 arch/x86/kernel/acpi/cstate.c | 10 ++++++++
 arch/x86/kernel/smpboot.c     | 44 ++++-------------------------------
 drivers/acpi/processor_idle.c |  2 ++
 drivers/idle/intel_idle.c     | 14 +++++++++++
 include/acpi/processor.h      |  5 ++++
 6 files changed, 39 insertions(+), 39 deletions(-)

Comments

Rafael J. Wysocki Feb. 5, 2025, 3:39 p.m. UTC | #1
On Wed, Feb 5, 2025 at 4:21 PM Artem Bityutskiy
<artem.bityutskiy@linux.intel.com> wrote:
>
> Code for determining the mwait hint for the deepest C-state by
> inspecting CPUID leaf 0x5 in mwait_play_dead() assumes that, if the
> number of sub-states for a given major C-state is nonzero, those
> sub-states are always represented by consecutive numbers starting from
> 0. This assumption is not based on the documented platform behavior and
> in fact it is not met on recent Intel platforms.
>
> Changes since v9:
>   * Patch 3/4: remove the '__cpuidle' instrumentation tag from
>     intel_idle_enter_dead() to address this objtool warning: call to
>     cpuidle_get_cpu_driver() leaves .noinstr.text section.
>   * Patch 1/4: rename 'hint' to 'eax_hint' in the !CONFIG_SMP for
>     consistency.
>
> Tested on AMD Milan platform and on a couple of Intel platforms.
>
> Artem Bityutskiy (4):
>   x86/smp: Allow calling mwait_play_dead with an arbitrary hint
>   ACPI: processor_idle: Add FFH state handling
>   intel_idle: Provide the default enter_dead() handler
>   x86/smp: Eliminate mwait_play_dead_cpuid_hint()
>
>  arch/x86/include/asm/smp.h    |  3 +++
>  arch/x86/kernel/acpi/cstate.c | 10 ++++++++
>  arch/x86/kernel/smpboot.c     | 44 ++++-------------------------------
>  drivers/acpi/processor_idle.c |  2 ++
>  drivers/idle/intel_idle.c     | 14 +++++++++++
>  include/acpi/processor.h      |  5 ++++
>  6 files changed, 39 insertions(+), 39 deletions(-)
>
> --

Please feel free to add

Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

to all patches in the series.

Thanks!