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

From: Yi Sun
Date: Tue Oct 25 2022 - 08:18:16 EST


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

We conducted extensive internal testing and compared several latency computation
methodologies. We believe it could be improved. Also included in the series is
a script for consuming trace logs that uses sqlite3 to display statistics data
such as max, min, latency, and 97% tail latency.

- Change from v4 to v5:
- Rebase patch to the most recent tag v6.1-rc2, no conflict.

- 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