# daxctl−migrate−device−model(1)

[NAME](#name)\
[SYNOPSIS](#synopsis)\
[COPYRIGHT](#copyright)

## NAME

daxctl−migrate−device−model − Opt−in to the /sys/bus/dax device−model, allow for alternative Device−DAX instance drivers.

## SYNOPSIS

*daxctl migrate−device−model*

Arrange for modprobe to disable the dax\_pmem\_compat, if present, and instead deploy the dax\_pmem module to convert to the /sys/bus/dax model. Kernel versions prior to v5.1 may not support /sys/bus/dax in which case the result of this command is a nop until the kernel is updated. The motivation for changing from /sys/class/dax to /sys/bus/dax is to allow for alternative drivers for Device−DAX instances, in particular the dax\_kmem driver.

By default device−dax publishes a /dev/daxX.Y character device for userspace to directly map performance differentiated memory. This is fine if the memory is to be exclusively consumed / managed by userspace. Alternatively an administrator may want the kernel to manage the memory, make it available via malloc(), allow for over−provisioning, and / or apply kernel−based resource control schemes to the memory. In that case the memory fronted by a given Device−DAX instance can be assigned to the dax\_kmem driver which arranges for the core−kernel memory−management sub−system to assume management of the memory range.

This behavior is opt−in for consideration of existing applications / scripts that may be hard coded to use /sys/class/dax. Fixes have been submitted to applications known to have these direct dependencies *FIO* <http://git.kernel.dk/cgit/fio/commit/?id=b08e7d6b18b4> *PMDK* <https://github.com/pmem/pmdk/commit/91bc8620884e>, however, there may be others and a system−owner should be aware of the potential for regression of Device−DAX consuming scripts, applications, or older daxctl binaries.

The modprobe policy established by this utility becomes effective after the next reboot, or after all DAX related modules have been removed and re−loaded with "udevadm trigger"

## COPYRIGHT

Copyright (c) 2016 − 2019, Intel Corporation. License GPLv2: GNU GPL version 2 <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pmem.io/ndctl-user-guide/v67/daxctl-man-pages/daxctl-migrate-device-model.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
