Re: [ndctl PATCH v2] cxl/test: use max_available_extent in cxl-destroy-region

2024-04-25 Thread Ira Weiny
alison.schofield@ wrote:
> From: Alison Schofield 
> 
> 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:0x2000 in CXL Window 0 [mem 0xf01000-0xf04fff 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 

Reviewed-by: Ira Weiny 



[ndctl PATCH v2] cxl/test: use max_available_extent in cxl-destroy-region

2024-04-23 Thread alison . schofield
From: Alison Schofield 

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:0x2000 in CXL Window 0 [mem 0xf01000-0xf04fff 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 
---

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