On Wed, Jan 16, 2019 at 9:21 PM Du, Fan <fan.du@xxxxxxxxx> wrote: [..] > >From: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> > > > >Currently, a persistent memory region is "owned" by a device driver, > >either the "Direct DAX" or "Filesystem DAX" drivers. These drivers > >allow applications to explicitly use persistent memory, generally > >by being modified to use special, new libraries. > > > >However, this limits persistent memory use to applications which > >*have* been modified. To make it more broadly usable, this driver > >"hotplugs" memory into the kernel, to be managed ad used just like > >normal RAM would be. > > > >To make this work, management software must remove the device from > >being controlled by the "Device DAX" infrastructure: > > > > echo -n dax0.0 > /sys/bus/dax/drivers/device_dax/remove_id > > echo -n dax0.0 > /sys/bus/dax/drivers/device_dax/unbind > > > >and then bind it to this new driver: > > > > echo -n dax0.0 > /sys/bus/dax/drivers/kmem/new_id > > echo -n dax0.0 > /sys/bus/dax/drivers/kmem/bind > > Is there any plan to introduce additional mode, e.g. "kmem" in the userspace > ndctl tool to do the configuration? > Yes, but not to ndctl. The daxctl tool will grow a helper for this. The policy of what device-dax instances should be hotplugged at system init will be managed by a persistent configuration file and udev rules.