[ this is on-topic for linux-nvdimm, but likely off-topic for linux-mm. I leave it cc'd for now ] On Thu, Jun 27, 2019 at 7:20 AM Won-Kyo Choe <heysid@xxxxxxxxxx> wrote: > > Hi, Dave. I hope this message is sent appropriately in this time. > > We've recently got a new machine which contains Optane DC memory and > tried to use your patch set[1] in a recent kernel version(5.1.15). > Unfortunately, we've failed on the last step[2] that describes > converting device-dax driver as kmem. The main error is "echo: write error: No such device". > We are certain that there must be a device and it should be recognized > since we can see it in a path "/dev/dax0.0", however, somehow it keeps saying that error. > > We've followed all your steps in the first patch[1] except a step about qemu configuration > since we already have a persistent memory. We even checked that there is a region > mapped with persistent memory from a command, `dmesg | grep e820` described in below. > > BIOS-e820: [mem 0x0000000880000000-0x00000027ffffffff] persistent (type 7) > > As the address is shown above, the thing is that in the qemu, the region is set as > persistent (type 12) but in the native machine, it says persistent (type 7). > We've still tried to find what type means and we simply guess that this is one > of the reasons why we are not able to set the device as kmem. > > We'd like to know why this error comes up and how can we handle this problem. > We would really appreciate it if you are able to little bit help us. Before digging deeper let's first verify that you have switched device-dax from using "class" devices to using "bus" devices. Yes, that step is not included in the changelog instructions. Here is a man page for a tool that can automate some of the steps for you: http://pmem.io/ndctl/daxctl-migrate-device-model.html You can validate that you're in "bus" mode by making sure a "dax0.0" link appears under "/sys/bus/dax/devices".