qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH qemu 0/6] hw/cxl: Link speed and width control
@ 2024-09-16 17:35 Jonathan Cameron via
  2024-09-16 17:35 ` [PATCH 1/6] hw/pci-bridge/cxl_root_port: Provide x-speed and x-width properties Jonathan Cameron via
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Jonathan Cameron via @ 2024-09-16 17:35 UTC (permalink / raw)
  To: mst, Markus Armbruster, qemu-devel
  Cc: linuxarm, linux-cxl, marcel.apfelbaum, Dave Jiang, Huang Ying,
	Michael Roth, fan.ni

Changes since RFC:
- rebase

Question:
- I could enable this for all PCIe device (including ports).
  Does that makes sense, or is it better to limit this to my cases?
  It is quite easy to build broken setups (downstream device reports
  faster link than the port etc) because QEMU 'link' training' is
  simplistic.  I'm not sure it is worth making it more clever.

The Generic Ports support added the ability to describe the bandwidth and
Latency within a host to a CXL host bridge.  To be able to test the of the
discovery path used by Linux [1] we also need to be able to create
bottlenecks at difference places in the topology. There are two parts to
this
* CXL link characteristics as described by PCI Express Capability Link
  status etc.
* Bandwidth and latency across CXL Switches (via CDAT data from the switch
  USP)
* Bandwidth and latency from the CXL type 3 device port to the actual
  memory (Via CDAT data from the EP).

Currently we have fixed values for the CXL CDAT tables, and to test this
I recommend changing those as per the patch at the end of this cover letter
(so they aren't always the bottleneck). Making those configurable will be
handled in a future patch set.

RFC has a set of examples but those were to help testing the kernel code
rather than providing much info for QEMU review so I haven't repeated
them ehre.

https://lore.kernel.org/qemu-devel/20240712122414.1448284-1-Jonathan.Cameron@huawei.com/

Jonathan Cameron (6):
  hw/pci-bridge/cxl_root_port: Provide x-speed and x-width properties.
  hw/pci-bridge/cxl_upstream: Provide x-speed and x-width properties.
  hw/pcie: Factor out PCI Express link register filling common to EP.
  hw/pcie: Provide a utility function for control of EP / SW USP link
  hw/mem/cxl-type3: Add properties to control link speed and width
  hw/pci-bridge/cxl-upstream: Add properties to control link speed and
    width

 include/hw/cxl/cxl_device.h               |   4 +
 include/hw/pci-bridge/cxl_upstream_port.h |   4 +
 include/hw/pci/pcie.h                     |   2 +
 hw/mem/cxl_type3.c                        |   6 ++
 hw/pci-bridge/cxl_downstream.c            |  23 +++--
 hw/pci-bridge/cxl_root_port.c             |   5 ++
 hw/pci-bridge/cxl_upstream.c              |   6 ++
 hw/pci/pcie.c                             | 105 ++++++++++++++--------
 8 files changed, 103 insertions(+), 52 deletions(-)

-- 
2.43.0



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-10-30 13:04 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-16 17:35 [PATCH qemu 0/6] hw/cxl: Link speed and width control Jonathan Cameron via
2024-09-16 17:35 ` [PATCH 1/6] hw/pci-bridge/cxl_root_port: Provide x-speed and x-width properties Jonathan Cameron via
2024-10-29 16:26   ` Fan Ni
2024-09-16 17:35 ` [PATCH 2/6] hw/pci-bridge/cxl_upstream: " Jonathan Cameron via
2024-10-29 16:37   ` Fan Ni
2024-10-30 13:04     ` Jonathan Cameron via
2024-09-16 17:35 ` [PATCH 3/6] hw/pcie: Factor out PCI Express link register filling common to EP Jonathan Cameron via
2024-09-16 17:35 ` [PATCH 4/6] hw/pcie: Provide a utility function for control of EP / SW USP link Jonathan Cameron via
2024-09-16 17:35 ` [PATCH 5/6] hw/mem/cxl-type3: Add properties to control link speed and width Jonathan Cameron via
2024-09-16 17:35 ` [PATCH 6/6] hw/pci-bridge/cxl-upstream: " Jonathan Cameron via
2024-10-29 10:30 ` [PATCH qemu 0/6] hw/cxl: Link speed and width control Jonathan Cameron via

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).