[PATCH v8 0/9] dax/hmem, cxl: Coordinate Soft Reserved handling with CXL and HMEM

Tomasz Wolski posted 9 patches 1 day, 6 hours ago
Only 0 patches received!
[PATCH v8 0/9] dax/hmem, cxl: Coordinate Soft Reserved handling with CXL and HMEM
Posted by Tomasz Wolski 1 day, 6 hours ago
Hi Smita,

Tested on QEMU and physical setups - it worked as expected
(had to disable ACPI_PRMT/CONFIG_CXL_ATL on our physical system though)

Best regards,
Tomasz

Tested-by: Tomasz Wolski <tomasz.wolski@fujitsu.com>
Re: [PATCH v8 0/9] dax/hmem, cxl: Coordinate Soft Reserved handling with CXL and HMEM
Posted by Tomasz Wolski 1 day, 5 hours ago
One additional remark:
I observed one isue unrelated to this patch during tests
on our AMD machine with two CXL physical cards installed.
Region teardown with "destroy-region" fails with "Operation not permitted":

cxl region: destroy_region: region1: failed to reset decode: Operation not permitted
cxl region: decoder_region_action: region1: failed: Operation not permitted
cxl region: region_action: one or more failures, last failure: Operation not permitted
cxl region: cmd_destroy_region: destroyed 0 regions

Region lock is now correctly set by a fix "cxl: Test decoder flags as bitmasks" 
(commit 0a70b7cd397e545e926c93715ff6366b67c716f6) but I cannot see any option
how it can be unlocked to proceed with the teardown?

Without the lock I'm able to destroy regions:

>static void cxl_region_setup_flags(struct cxl_region *cxlr,
>                                   struct cxl_decoder *cxld)
>{
>        if (cxld->flags & CXL_DECODER_F_LOCK) {
>                dev_err(&cxlr->dev, "cxl_region_setup_flags: would lock, flags: %04lx\n", cxld->flags);
>        }
>        if (test_bit(CXL_DECODER_F_LOCK, &cxld->flags)) {
>                dev_err(&cxlr->dev, "cxl_region_setup_flags: setting CXL_DECODER_F_LOCK, flags: %04lx\n", cxld->flags);
>                set_bit(CXL_REGION_F_LOCK, &cxlr->flags);
>                clear_bit(CXL_REGION_F_NEEDS_RESET, &cxlr->flags);
>        }
>
>        if (cxld->flags & CXL_DECODER_F_NORMALIZED_ADDRESSING)
>                set_bit(CXL_REGION_F_NORMALIZED_ADDRESSING, &cxlr->flags);
>}


[    5.155997] [     T12] cxl region0: cxl_region_setup_flags: would lock, flags: 0030
..
[    5.130070] [     T12] cxl region1: cxl_region_setup_flags: would lock, flags: 0030