* Chang S. Bae <chang.seok.bae@xxxxxxxxx> wrote: > Hi all, > > This series proposes a rework of xstate-related tests to improve > maintainability and expand test coverage. > > == Motivation: Addressing Missing and New XSTATE Tests == > > With the introduction of AMX, a new test suite [1] was created to verify > dynamic state handling by the kernel as observed from userspace. However, > previous tests for non-dynamic states like AVX lacked ABI validation, > leaving gaps in coverage. While these states currently function without > major issues (following the alternate sigstack fix [2]), xstate testing > in the x86 selftest suite has been largely overlooked. > > Now, with Intel introducing another extended state, Advanced Performance > Extensions (APX) [3], a correspondent test case is need. The APX enabling > series will follow shortly and will leverage this refactored selftest > framework. > > == Selftest Code Rework == > > To ensure ABI validation and core functionality across various xstates, > refactoring the test code is necessary. Without this, existing code from > amx.c would need to be duplicated, compromising the structural quality of > xstate tests. > > This series introduces a shared test framework for extended state > validation, applicable to both existing and new xstates. The test cases > cover: > * Context switching > * ABI compatibility for signal handling > * ABI compatibility for ptrace interactions > > == Patch Organization == > > The patchset is structured as follows: > > * PATCH1: Preparatory cleanup — removing redundant signal handler > registration code. > * PATCH2/3: Introduce low-level XSAVE helpers and xstate component > enumeration. > * PATCH4/5: Refactor existing test code. > * PATCH6: Introduce a new signal test case. > * PATCH7/8: Consolidate test invocations and clarify the list of > supported features. > * PATCH9: Add test coverage for AVX. > > == Coverage and Future Work Considerations == > > Currently, these tests are aligned with 64-bit mode only. Support for > 32-bit cases will be considered when necessary, but only after this phase > of rework is finalized. > > FWIW, the AMX TILECFG state is trivial, requiring almost constant values. > Additionally, various PKRU tests are already established in > tools/selftests/mm. > > This series is based on the tip/master branch. You can also find it in > the following repository: > git://github.com/intel/apx.git selftest-xstate_v1 > > Thanks, > Chang > > [1] https://lore.kernel.org/all/20211026122523.AFB99C1F@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ > [2] https://lore.kernel.org/lkml/20210518200320.17239-1-chang.seok.bae@xxxxxxxxx/ > [3] https://www.intel.com/content/www/us/en/developer/articles/technical/advanced-performance-extensions-apx.html > > Chang S. Bae (9): > selftests/x86: Consolidate redundant signal helper functions > selftests/x86/xstate: Refactor XSAVE helpers for general use > selftests/x86/xstate: Enumerate and name xstate components > selftests/x86/xstate: Refactor context switching test > selftests/x86/xstate: Refactor ptrace ABI test > selftests/x86/xstate: Introduce signal ABI test > selftests/x86/xstate: Consolidate test invocations into a single entry > selftests/x86/xstate: Clarify supported xstates > selftests/x86/avx: Add AVX test > 22 files changed, 753 insertions(+), 720 deletions(-) Thank you very much for doing this - this series is a very big step forward in this area. I've applied your series to tip:x86/fpu with minor edits to the changelogs, and if all goes fine it should all go upstream in the v6.15 merge window in a couple of weeks. Thanks, Ingo