[PATCH V3 0/8] CXL: Process event logs

From: ira . weiny
Date: Thu Dec 08 2022 - 00:21:54 EST


From: Ira Weiny <ira.weiny@xxxxxxxxx>

This code has been tested with a newer qemu which allows for more events to be
returned at a time as well an additional QMP event and interrupt injection.
Those patches will follow once they have been cleaned up.

The series is now in 3 parts:

1) Base functionality including interrupts
2) Tracing specific events (Dynamic Capacity Event Record is defered)
3) cxl-test infrastructure for basic tests

Changes from V2
Rebased on pending 6.3 changes
CXL security patches from Dave J.
Moving tracing to cxl core from Dan
Feed back from Dan, Steven, Jonathan, and Dave.
The series looks very different now with a lot of the patches squashed
per Dan's feedback.

- Link to v2: https://lore.kernel.org/r/20221201002719.2596558-1-ira.weiny@xxxxxxxxx

Changes from V1
Address comments, from Jonathan, Dave, and Alison
Main comment was to allow for a full payload size number of
event records to be processed on each Get event cyle.
Pick up tags

Changes from RFC v2
Integrated Davidlohr's irq patch, allocate up to 16 vectors, and base
my irq support on modifications to that patch.
Smita
Check event status before reading each log.
Jonathan
Process more than 1 record at a time
Remove reserved fields
Steven
Prefix trace points with 'cxl_'
Davidlohr
PUll in his patch

Changes from RFC v1
Add event irqs
General simplification of the code.
Resolve field alignment questions
Update to rev 3.0 for comments and structures
Add reserved fields and output them

Davidlohr Bueso (1):
cxl/mem: Wire up event interrupts

Ira Weiny (7):
cxl/mem: Read, trace, and clear events on driver load
cxl/mem: Trace General Media Event Record
cxl/mem: Trace DRAM Event Record
cxl/mem: Trace Memory Module Event Record
cxl/test: Add generic mock events
cxl/test: Add specific events
cxl/test: Simulate event log overflow

drivers/acpi/pci_root.c | 3 +
drivers/cxl/core/mbox.c | 233 ++++++++++++++++
drivers/cxl/core/trace.h | 479 ++++++++++++++++++++++++++++++++
drivers/cxl/cxl.h | 12 +
drivers/cxl/cxlmem.h | 180 ++++++++++++
drivers/cxl/cxlpci.h | 6 +
drivers/cxl/pci.c | 130 +++++++++
include/linux/pci.h | 1 +
tools/testing/cxl/test/Kbuild | 4 +-
tools/testing/cxl/test/events.c | 314 +++++++++++++++++++++
tools/testing/cxl/test/events.h | 34 +++
tools/testing/cxl/test/mem.c | 33 ++-
tools/testing/cxl/test/mock.h | 12 +
13 files changed, 1429 insertions(+), 12 deletions(-)
create mode 100644 tools/testing/cxl/test/events.c
create mode 100644 tools/testing/cxl/test/events.h


base-commit: acb704099642bc822ef2aed223a0b8db1f7ea76e
--
2.37.2