Alison Schofield wrote:
> On Thu, Nov 30, 2023 at 08:06:13PM -0800, Ira Weiny wrote:

[snip]

> > +
> > +check_destroy_devdax()
> > +{
> > +   mem=$1
> > +   decoder=$2
> > +
> > +   region=$($CXL create-region -d "$decoder" -m "$mem" | jq -r ".region")
> > +   if [ "$region" == "null" ]; then
> > +           err "$LINENO"
> > +   fi
> > +   $CXL enable-region "$region"
> > +
> > +   dax=$($CXL list -X -r "$region" | jq -r ".[].daxregion.devices" | jq -r 
> > '.[].chardev')
> > +
> > +   $DAXCTL reconfigure-device -m devdax "$dax"
> > +
> > +   $CXL disable-region $region
> > +   $CXL destroy-region $region
> > +}
> > +
> > +# Find a memory device to create regions on to test the destroy
> > +readarray -t mems < <("$CXL" list -b cxl_test -M | jq -r '.[].memdev')
> > +for mem in ${mems[@]}; do
> > +        ramsize=$($CXL list -m $mem | jq -r '.[].ram_size')
> > +        if [ "$ramsize" == "null" ]; then
> > +                continue
> > +        fi
> > +        decoder=$($CXL list -b cxl_test -D -d root -m "$mem" |
> > +                  jq -r ".[] |
> > +                  select(.volatile_capable == true) |
> > +                  select(.nr_targets == 1) |
> > +                  select(.size >= ${ramsize}) |
> > +                  .decoder")
> > +        if [[ $decoder ]]; then
> > +           check_destroy_ram $mem $decoder
> > +           check_destroy_devdax $mem $decoder
> > +                break
> > +        fi
> > +done
> 
> Does this need to check results of the region disable & destroy?
> 
> Did the regression this is after leave a trace in the dmesg log,
> so checking that is all that's needed?
> 

The regression causes

        check_destroy_devdax()
                $CXL disable-region $region

to fail.  That command failure will exit with an error which causes the
test script to exit with that error as well.

At least that is what happened when I used this to test the fix.  I'll
defer to Vishal if there is a more explicit or better way to check for
that cxl-cli command to fail.

Ira

Reply via email to