mbox series

[v5,0/2] x86/fpu: Make AMX state ready for CPU idle

Message ID 20220608164748.11864-1-chang.seok.bae@intel.com (mailing list archive)
Headers show
Series x86/fpu: Make AMX state ready for CPU idle | expand

Message

Chang S. Bae June 8, 2022, 4:47 p.m. UTC
Here is the fifth version of this series.

I've addressed Dave's comment [2] assuming that the change makes sense to
folks:
* Check the AMX_TILE feature bit instead of XGETBV1.
* Massage the changelog accordingly.

While many people had their eyeballs on this, Rafael's ACK was given so
far. Hopefully this can attracts more acknowledgment or endorsement if it
looks fine.

=== Cover Letter ===

AMX state is a large state (at least 8KB or more). Entering CPU idle with
this non-initialized large state may result in shallow states while a
deeper low-power state is available.

We can confirm this behavior is implementation-specific. Section 3.3 in [3]
will be updated to clarify this.

This patch set ensures the AMX state is initialized before entering the CPU
idle state.

The patch set is based on 5.19-rc1. It is also available here:
  git://github.com/intel/amx-linux.git tilerelease

[1]: V4 https://lore.kernel.org/lkml/20220517222430.24524-1-chang.seok.bae@intel.com/
[2]: https://lore.kernel.org/lkml/25a2a82f-b5e5-0fce-86c8-03d7da5fcdd1@intel.com/
[3]: Intel Architecture Instruction Set Extension Programming Reference
     May 2021, https://software.intel.com/content/dam/develop/external/us/en/documents-tps/architecture-instruction-set-extensions-programming-reference.pdf

Chang S. Bae (2):
  x86/fpu: Add a helper to prepare AMX state for low-power CPU idle
  intel_idle: Add a new flag to initialize the AMX state

 arch/x86/include/asm/fpu/api.h       |  2 ++
 arch/x86/include/asm/special_insns.h |  9 +++++++++
 arch/x86/kernel/fpu/core.c           | 14 ++++++++++++++
 drivers/idle/intel_idle.c            | 18 ++++++++++++++++--
 4 files changed, 41 insertions(+), 2 deletions(-)


base-commit: f2906aa863381afb0015a9eb7fefad885d4e5a56