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

From: Chang S. Bae
Date: Wed Jun 08 2022 - 13:11:53 EST


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@xxxxxxxxx/
[2]: https://lore.kernel.org/lkml/25a2a82f-b5e5-0fce-86c8-03d7da5fcdd1@xxxxxxxxx/
[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
--
2.17.1