nvdimm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: alison.schofield@intel.com
To: Vishal Verma <vishal.l.verma@intel.com>
Cc: Alison Schofield <alison.schofield@intel.com>,
	nvdimm@lists.linux.dev, linux-cxl@vger.kernel.org
Subject: [ndctl PATCH v2] cxl/test: use max_available_extent in cxl-destroy-region
Date: Tue, 23 Apr 2024 19:54:03 -0700	[thread overview]
Message-ID: <20240424025404.2343942-1-alison.schofield@intel.com> (raw)

From: Alison Schofield <alison.schofield@intel.com>

Using .size in decoder selection can lead to a set_size failure with
these error messages:

cxl region: create_region: region8: set_size failed: Numerical result out of range

[] cxl_core:alloc_hpa:555: cxl region8: HPA allocation error (-34) for size:0x0000000020000000 in CXL Window 0 [mem 0xf010000000-0xf04fffffff flags 0x200]

Use max_available_extent for decoder selection instead.

The test overlooked the region creation failure because the not 'null'
comparison succeeds when cxl create-region command emits nothing.
Use the ! comparator when checking the create-region result.

When checking the ram_size output of cxl-list add a check for empty.

Signed-off-by: Alison Schofield <alison.schofield@intel.com>
---

Changes in v2:
- Check ram_size json output for null or empty (Vishal)


 test/cxl-destroy-region.sh | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/test/cxl-destroy-region.sh b/test/cxl-destroy-region.sh
index cf0a46d6ba58..3952060cf3e2 100644
--- a/test/cxl-destroy-region.sh
+++ b/test/cxl-destroy-region.sh
@@ -22,7 +22,7 @@ check_destroy_ram()
 	decoder=$2
 
 	region="$("$CXL" create-region -d "$decoder" -m "$mem" | jq -r ".region")"
-	if [ "$region" == "null" ]; then
+	if [[ ! $region ]]; then
 		err "$LINENO"
 	fi
 	"$CXL" enable-region "$region"
@@ -38,7 +38,7 @@ check_destroy_devdax()
 	decoder=$2
 
 	region="$("$CXL" create-region -d "$decoder" -m "$mem" | jq -r ".region")"
-	if [ "$region" == "null" ]; then
+	if [[ ! $region ]]; then
 		err "$LINENO"
 	fi
 	"$CXL" enable-region "$region"
@@ -55,14 +55,14 @@ check_destroy_devdax()
 readarray -t mems < <("$CXL" list -b "$CXL_TEST_BUS" -M | jq -r '.[].memdev')
 for mem in "${mems[@]}"; do
         ramsize="$("$CXL" list -m "$mem" | jq -r '.[].ram_size')"
-        if [[ $ramsize == "null" ]]; then
+        if [[ $ramsize == "null" || ! $ramsize ]]; then
                 continue
         fi
         decoder="$("$CXL" list -b "$CXL_TEST_BUS" -D -d root -m "$mem" |
                   jq -r ".[] |
                   select(.volatile_capable == true) |
                   select(.nr_targets == 1) |
-                  select(.size >= ${ramsize}) |
+                  select(.max_available_extent >= ${ramsize}) |
                   .decoder")"
         if [[ $decoder ]]; then
 		check_destroy_ram "$mem" "$decoder"

base-commit: e0d0680bd3e554bd5f211e989480c5a13a023b2d
-- 
2.37.3


             reply	other threads:[~2024-04-24  2:54 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-24  2:54 alison.schofield [this message]
2024-04-25 21:39 ` [ndctl PATCH v2] cxl/test: use max_available_extent in cxl-destroy-region Ira Weiny

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240424025404.2343942-1-alison.schofield@intel.com \
    --to=alison.schofield@intel.com \
    --cc=linux-cxl@vger.kernel.org \
    --cc=nvdimm@lists.linux.dev \
    --cc=vishal.l.verma@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).