All of lore.kernel.org
 help / color / mirror / Atom feed
* [ndctl PATCH 00/37] cxl: Full topology enumeration
@ 2022-01-24  0:51 Dan Williams
  2022-01-24  0:51 ` [ndctl PATCH 01/37] test: Add 'suite' identifiers to tests Dan Williams
                   ` (36 more replies)
  0 siblings, 37 replies; 40+ messages in thread
From: Dan Williams @ 2022-01-24  0:51 UTC (permalink / raw)
  To: linux-cxl; +Cc: Vishal Verma, Ben Widawsky

In coordination with kernel enabling to enumerate switch ports and
validate the CXL.mem capability through the topology and in endpoints
[1], enhance the 'cxl list' command accordingly. The 'cxl list' command
gains the ability to enumerate buses (CXL root ports), ports (Switch
ports), endpoints (kernel port objects associated with the HDM Decoder
Capability in endpoints), decoders, and downstream ports. Similar to
'ndctl list', 'cxl list' supports the ability to cross filter the
listing by different object types. This allows 'cxl list' to answer
questions like, "which memdevs can decode a given root level CXL decoder
range?" ("cxl list -M -d $decoder_id"), "what are the set of decoders
that a memdev can contribute?" ("cxl list -D -m $memdev_id").

In addition to that functionality new commands for disabling/enabling
ports and memdevs are added.

See the 'cxl list' man page for more details. See the libcxl man page
for a description of APIs added to support the new commands.

[1]: https://lore.kernel.org/r/164298411792.3018233.7493009997525360044.stgit@dwillia2-desk3.amr.corp.intel.com

---

Dan Williams (37):
      test: Add 'suite' identifiers to tests
      ndctl: Rename util_filter to ndctl_filter
      build: Add tags
      json: Add support for json_object_new_uint64()
      cxl/json: Cleanup object leak false positive
      cxl/list: Support multiple memdev device name filter arguments
      cxl/list: Support comma separated lists
      cxl/list: Introduce cxl_filter_walk()
      cxl/list: Emit device serial numbers
      cxl/list: Add filter by serial support
      cxl/lib: Rename nvdimm bridge to pmem
      cxl/list: Cleanup options definitions
      Documentation: Enhance libcxl memdev API documentation
      cxl/list: Add bus objects
      util/json: Warn on stderr about empty list results
      util/sysfs: Uplevel modalias lookup helper to util/
      cxl/list: Add port enumeration
      cxl/list: Add --debug option
      cxl/list: Add endpoints
      cxl/list: Add 'host' entries for port-like objects
      cxl/list: Add 'host' entries for memdevs
      cxl/list: Move enabled memdevs underneath their endpoint
      cxl/list: Filter memdev by ancestry
      cxl/memdev: Use a local logger for debug
      cxl/memdev: Cleanup memdev filter
      cxl/memdev: Add serial support for memdev-related commands
      cxl/list: Add 'numa_node' to memdev listings
      util: Implement common bind/unbind helpers
      cxl/memdev: Enable / disable support
      cxl/list: Add decoder support
      cxl/list: Extend decoder objects with target information
      cxl/list: Use 'physical_node' for root port attachment detection
      cxl/list: Reuse the --target option for ports
      cxl/list: Support filtering memdevs by decoders
      cxl/list: Support filtering memdevs by ports
      cxl/port: Add {disable,enable}-port command
      cxl/list: Filter dports and targets by memdevs


 .clang-format                            |    7 
 Documentation/copyright.txt              |    2 
 Documentation/cxl/cxl-disable-memdev.txt |   37 +
 Documentation/cxl/cxl-disable-port.txt   |   46 +
 Documentation/cxl/cxl-enable-memdev.txt  |   34 +
 Documentation/cxl/cxl-enable-port.txt    |   43 +
 Documentation/cxl/cxl-list.txt           |  248 ++++++
 Documentation/cxl/lib/libcxl.txt         |  448 ++++++++++-
 Documentation/cxl/memdev-option.txt      |    5 
 Documentation/cxl/meson.build            |    8 
 config.h.meson                           |    3 
 cxl/builtin.h                            |    4 
 cxl/cxl.c                                |    4 
 cxl/filter.c                             | 1068 +++++++++++++++++++++++++
 cxl/filter.h                             |   50 +
 cxl/json.c                               |  283 +++++++
 cxl/json.h                               |   19 
 cxl/lib/libcxl.c                         | 1267 +++++++++++++++++++++++++++++-
 cxl/lib/libcxl.sym                       |   83 ++
 cxl/lib/private.h                        |   85 ++
 cxl/libcxl.h                             |  133 +++
 cxl/list.c                               |  167 ++--
 cxl/memdev.c                             |  153 +++-
 cxl/meson.build                          |    2 
 cxl/port.c                               |  253 ++++++
 daxctl/json.c                            |    2 
 meson.build                              |   25 +
 ndctl/dimm.c                             |    2 
 ndctl/filter.c                           |    4 
 ndctl/filter.h                           |   21 
 ndctl/json.c                             |   10 
 ndctl/lib/libndctl.c                     |  136 ---
 ndctl/list.c                             |   14 
 ndctl/monitor.c                          |   12 
 test/list-smart-dimm.c                   |   12 
 test/meson.build                         |   73 +-
 util/json.c                              |    9 
 util/json.h                              |   14 
 util/sysfs.c                             |  103 ++
 util/sysfs.h                             |   16 
 40 files changed, 4503 insertions(+), 402 deletions(-)
 create mode 100644 Documentation/cxl/cxl-disable-memdev.txt
 create mode 100644 Documentation/cxl/cxl-disable-port.txt
 create mode 100644 Documentation/cxl/cxl-enable-memdev.txt
 create mode 100644 Documentation/cxl/cxl-enable-port.txt
 create mode 100644 cxl/port.c

base-commit: e1b4076b742f2e7aab8e9c9612a9b5c247d0d8e9

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

end of thread, other threads:[~2022-02-10  2:00 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-24  0:51 [ndctl PATCH 00/37] cxl: Full topology enumeration Dan Williams
2022-01-24  0:51 ` [ndctl PATCH 01/37] test: Add 'suite' identifiers to tests Dan Williams
2022-01-24  0:52 ` [ndctl PATCH 02/37] ndctl: Rename util_filter to ndctl_filter Dan Williams
2022-01-24  0:52 ` [ndctl PATCH 03/37] build: Add tags Dan Williams
2022-01-24  0:52 ` [ndctl PATCH 04/37] json: Add support for json_object_new_uint64() Dan Williams
2022-01-24  0:52 ` [ndctl PATCH 05/37] cxl/json: Cleanup object leak false positive Dan Williams
2022-01-24  0:52 ` [ndctl PATCH 06/37] cxl/list: Support multiple memdev device name filter arguments Dan Williams
2022-01-24  0:52 ` [ndctl PATCH 07/37] cxl/list: Support comma separated lists Dan Williams
2022-01-24  0:52 ` [ndctl PATCH 08/37] cxl/list: Introduce cxl_filter_walk() Dan Williams
2022-01-24  0:52 ` [ndctl PATCH 09/37] cxl/list: Emit device serial numbers Dan Williams
2022-01-24  0:52 ` [ndctl PATCH 10/37] cxl/list: Add filter by serial support Dan Williams
2022-01-24  0:52 ` [ndctl PATCH 11/37] cxl/lib: Rename nvdimm bridge to pmem Dan Williams
2022-01-24  0:52 ` [ndctl PATCH 12/37] cxl/list: Cleanup options definitions Dan Williams
2022-01-24  0:52 ` [ndctl PATCH 13/37] Documentation: Enhance libcxl memdev API documentation Dan Williams
2022-01-24  0:53 ` [ndctl PATCH 14/37] cxl/list: Add bus objects Dan Williams
2022-01-24  0:53 ` [ndctl PATCH 15/37] util/json: Warn on stderr about empty list results Dan Williams
2022-01-24  0:53 ` [ndctl PATCH 16/37] util/sysfs: Uplevel modalias lookup helper to util/ Dan Williams
2022-01-24  0:53 ` [ndctl PATCH 17/37] cxl/list: Add port enumeration Dan Williams
2022-01-24  0:53 ` [ndctl PATCH 18/37] cxl/list: Add --debug option Dan Williams
2022-01-24  0:53 ` [ndctl PATCH 19/37] cxl/list: Add endpoints Dan Williams
2022-01-24  0:53 ` [ndctl PATCH 20/37] cxl/list: Add 'host' entries for port-like objects Dan Williams
2022-01-24  0:53 ` [ndctl PATCH 21/37] cxl/list: Add 'host' entries for memdevs Dan Williams
2022-01-24  0:53 ` [ndctl PATCH 22/37] cxl/list: Move enabled memdevs underneath their endpoint Dan Williams
2022-01-24  0:53 ` [ndctl PATCH 23/37] cxl/list: Filter memdev by ancestry Dan Williams
2022-01-24  0:53 ` [ndctl PATCH 24/37] cxl/memdev: Use a local logger for debug Dan Williams
2022-01-24  0:54 ` [ndctl PATCH 25/37] cxl/memdev: Cleanup memdev filter Dan Williams
2022-01-24  0:54 ` [ndctl PATCH 26/37] cxl/memdev: Add serial support for memdev-related commands Dan Williams
2022-02-10  1:10   ` Alison Schofield
2022-02-10  1:55     ` Dan Williams
2022-01-24  0:54 ` [ndctl PATCH 27/37] cxl/list: Add 'numa_node' to memdev listings Dan Williams
2022-01-24  0:54 ` [ndctl PATCH 28/37] util: Implement common bind/unbind helpers Dan Williams
2022-01-24  0:54 ` [ndctl PATCH 29/37] cxl/memdev: Enable / disable support Dan Williams
2022-01-24  0:54 ` [ndctl PATCH 30/37] cxl/list: Add decoder support Dan Williams
2022-01-24  0:54 ` [ndctl PATCH 31/37] cxl/list: Extend decoder objects with target information Dan Williams
2022-01-24  0:54 ` [ndctl PATCH 32/37] cxl/list: Use 'physical_node' for root port attachment detection Dan Williams
2022-01-24  0:54 ` [ndctl PATCH 33/37] cxl/list: Reuse the --target option for ports Dan Williams
2022-01-24  0:54 ` [ndctl PATCH 34/37] cxl/list: Support filtering memdevs by decoders Dan Williams
2022-01-24  0:54 ` [ndctl PATCH 35/37] cxl/list: Support filtering memdevs by ports Dan Williams
2022-01-24  0:55 ` [ndctl PATCH 36/37] cxl/port: Add {disable,enable}-port command Dan Williams
2022-01-24  0:55 ` [ndctl PATCH 37/37] cxl/list: Filter dports and targets by memdevs Dan Williams

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.