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

Message ID 20221208052115.800170-1-ira.weiny@intel.com
Headers
Series CXL: Process event logs |

Message

Ira Weiny Dec. 8, 2022, 5:21 a.m. UTC
  From: Ira Weiny <ira.weiny@intel.com>

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@intel.com

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