Hi, Dave

On the basis of this patch, I conducted some tests and encountered unexpected errors. I would like to inquire whether the design here is reasonable? Below are the steps of my testing:

Link: https://lore.kernel.org/linux-cxl/170138109724.2882696.123294980050048623.stgit@djiang5-mobl3/


Problem description: after creating a region, directly forcing 'disable-memdev' and then consuming memory leads to a kernel panic.


Test environment:
KERNEL  6.8.0-rc1
QEMU    8.2.0-rc4

Test steps:
      step1: set memory auto_online to movable zones.
echo online_movable > /sys/devices/system/memory/auto_online_blocks
      step2: create region
           cxl create-region -t ram -d decoder0.0 -m mem0
      step3: disable memdev
           cxl disable-memdev mem0 -f
      step4: consum CXL memory
           ./consumemem   <------kernel panic

numactl node status:
      step1: numactl -H

        available: 2 nodes (0-1)
        node 0 cpus: 0 1
        node 0 size: 968 MB
        node 0 free: 664 MB
        node 1 cpus: 2 3
        node 1 size: 683 MB
        node 1 free: 333 MB
        node distances:
        node   0   1
          0:  10  20

    step2: numactl -H

        available: 3 nodes (0-2)
        node 0 cpus: 0 1
        node 0 size: 968 MB
        node 0 free: 677 MB
        node 1 cpus: 2 3
        node 1 size: 683 MB
        node 1 free: 333 MB
        node 2 cpus:
        node 2 size: 256 MB
        node 2 free: 256 MB
        node distances:
        node   0   1   2
          0:  10  20  20
          1:  20  10  20
          2:  20  20  10

    step3: numactl -H

        available: 3 nodes (0-2)
        node 0 cpus: 0 1
        node 0 size: 968 MB
        node 0 free: 686 MB
        node 1 cpus: 2 3
        node 1 size: 683 MB
        node 1 free: 336 MB
        node 2 cpus:
        node 2 size: 256 MB
        node 2 free: 256 MB
        node distances:
        node   0   1   2
          0:  10  20  20
          1:  20  10  20
          2:  20  20  10

Reply via email to