DAXCTL-MIGRATE-DEVICE-MODEL(1)

πŸ’… NAME

daxctl-migrate-device-model β€” bestie, this is how you opt in to the /sys/bus/dax device-model so you can use alternative Device-DAX instance drivers ✨


πŸŽ€ SYNOPSIS

daxctl migrate-device-model

Okay so what this actually does is arrange for modprobe to disable the dax_pmem_compat module (if it's even there) and instead deploy the dax_pmem module to convert everything over to the /sys/bus/dax model πŸ’–

Heads up, bestie: kernel versions prior to v5.1 may not support /sys/bus/dax at all β€” in that case the result of this command is literally a nop until you update the kernel 😭

The whole motivation for moving 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 so userspace can directly map performance differentiated memory. Which is totally fine if the memory is exclusively consumed / managed by userspace 🌸

But alternatively, an administrator may want the kernel to manage the memory instead β€” 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, out of consideration for 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> and 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 πŸ’€

Fr fr, 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 Β© 2016 - 2022, 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.


okay that's the whole page, mwah πŸ’‹ β€” this was daxctl from the daxctl Manual, dated 2026-06-30, page title DAXCTL-MIGRATE-DEVICE-MODEL(1). go migrate that device model bestie, ily 🫢

πŸ“¦ where this page comes from
  • arch rolling: ndctl 85-1 Β· LGPL-2.1-only AND GPL-2.0-only AND CC0-1.0 AND MIT
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms