[PATCH v4 0/2] x86: Add xsave/xrstor Latency Trace Events and Consuming Script

From: Yi Sun
Date: Mon Aug 29 2022 - 22:28:17 EST


This series introduces trace events which can dump the latency of
instructions xsave and xrstor for x86 platform to tell when
XSAVE/XRSTOR are getting more or less expensive, and get out the
RFBM and XINUSE to figure out the reason.

We did bunch of internal testing, compared several optional latency
calculation approaches. We believe it can be a more optimized one.

Also, the series introduces a script to consume trace log, which
leverage sqlite3 to show statistics data such as max, min, latency
and 97% tail latency.

This series has gone through several versions of peer-reviewed
internally. All patches have review tags. It's ready for review by
the x86@xxxxxxxxxx maintainers.

- Change from v3 to v4:
- Rebase patch set to the latest tag v6.0-rc3, replacing
ALTERNATIVE_2 with ALTERNATIVE_3

- Change from v2 to v3:
- Move the script xsave-latency-trace.sh to folder tools/testing/fpu/
(Ingo Molnar)

- Change from v1 to v2:
- Reword the comments. (Laight, David; Mehta, Sohil)
- Rename all variable 'dtsc' to 'latency'. (Mehta, Sohil)

Yi Sun (2):
x86/fpu: Measure the Latency of XSAVE and XRSTOR
tools/testing/fpu: Add script to consume trace log of xsave latency

arch/x86/include/asm/trace/fpu.h | 35 ++++
arch/x86/kernel/fpu/xstate.h | 49 ++++-
tools/testing/fpu/xsave-latency-trace.sh | 227 +++++++++++++++++++++++
3 files changed, 306 insertions(+), 5 deletions(-)
create mode 100755 tools/testing/fpu/xsave-latency-trace.sh

--
2.34.1