mbox series

[ndctl,v2,00/18] cxl-cli test and usability updates

Message ID 167053487710.582963.17616889985000817682.stgit@dwillia2-xfh.jf.intel.com
Headers show
Series cxl-cli test and usability updates | expand

Message

Dan Williams Dec. 8, 2022, 9:27 p.m. UTC
Changes since v1 [1]:
- Clarify the changelog as to why emitting pmem_size on non-pmem capable
  device is confusing, and clean up the man page to remove stale example
  of "{pmem,ram}_size: 0" (Alison)
- Update the man page for cxl create-region to make it clear that the
  tool maybe able to select the possible memdevs, but it may not still
  require a manual specification of the ordering until the tool can do
  that automatically. (Alison)
- Support specification of the region order in either individual args, a
  comma separated list, or space separated list. (Vishal)
- Fixup count of the target list in the presence of list args. (Vishal)
- Fixup test/cxl-topology.sh to use consistent 'math' context for comparisons
  (Vishal)
- Include some more documentation fixups and list enhancements

[1]: http://lore.kernel.org/r/166777840496.1238089.5601286140872803173.stgit@dwillia2-xfh.jf.intel.com

---
The v6.1 kernel picks up new cxl_test infrastructure for a switch
attached to a single-port host-bridge. While extending the region
creation and topology tests for that change, some additional updates
were identified. The main one is the ability to elide the "ways"
"memdevs" arguments to 'cxl create-region'. Those parameters are now
derived by the result of a topology walk under the given root decoder.
I.e.:

    cxl create-region -d decoder3.4

...will internally perform a:

    cxl list -M -d decoder3.4

...operation and use those memdevs as region targets.

This also updates 'create-region' size detection to be maximum free
extent in the decoder, or the available capacity in the target memdevs,
whichever is smaller.

Some miscellaneous fixes and updates are included as well.

---

Dan Williams (18):
      ndctl/test: Move firmware-update.sh to the 'destructive' set
      ndctl/test: Add kernel backtrace detection to some dax tests
      ndctl/clang-format: Move minimum version to 6
      ndctl/clang-format: Fix space after for_each macros
      cxl/list: Always attempt to collect child objects
      cxl/list: Add a 'firmware_node' alias
      cxl/list: Add parent_dport attribute to port listings
      cxl/list: Skip emitting pmem_size when it is zero
      cxl/filter: Return json-c topology
      cxl/list: Record cxl objects in json objects
      cxl/region: Make ways an integer argument
      cxl/region: Make granularity an integer argument
      cxl/region: Use cxl_filter_walk() to gather create-region targets
      cxl/region: Trim region size by max available extent
      cxl/Documentation: Fix whitespace typos in create-region man page
      cxl/region: Autoselect memdevs for create-region
      cxl/test: Extend cxl-topology.sh for a single root-port host-bridge
      cxl/test: Test single-port host-bridge region creation


 .clang-format                           |   38 +--
 Documentation/cxl/cxl-create-region.txt |   12 +
 Documentation/cxl/cxl-list.txt          |    5 
 cxl/filter.c                            |   36 +--
 cxl/filter.h                            |   22 ++
 cxl/json.c                              |   57 ++++
 cxl/lib/libcxl.c                        |   69 +++++
 cxl/lib/libcxl.sym                      |    7 +
 cxl/lib/private.h                       |    4 
 cxl/libcxl.h                            |    3 
 cxl/list.c                              |    7 -
 cxl/region.c                            |  406 ++++++++++++++++++++-----------
 test/common                             |   10 +
 test/cxl-create-region.sh               |   28 ++
 test/cxl-region-sysfs.sh                |    4 
 test/cxl-topology.sh                    |   53 ++--
 test/dax.sh                             |    2 
 test/daxdev-errors.sh                   |    2 
 test/meson.build                        |    2 
 test/multi-dax.sh                       |    2 
 util/util.h                             |    9 +
 21 files changed, 537 insertions(+), 241 deletions(-)

base-commit: 1d4dbf6ff6eb988864d154792aaa098a2b11a244