[PATCH v4 0/3] Add DAX ABI for memmap_on_memory

From: Vishal Verma
Date: Tue Dec 12 2023 - 14:08:49 EST


The DAX drivers were missing sysfs ABI documentation entirely. Add this
missing documentation for the sysfs ABI for DAX regions and Dax devices
in patch 1. Define guard(device) semantics for Scope Based Resource
Management for device_lock, and convert device_{lock,unlock} flows in
drivers/dax/bus.c to use this in patch 2. Add a new ABI for toggling
memmap_on_memory semantics in patch 3.

The missing ABI was spotted in [1], this series is a split of the new
ABI additions behind the initial documentation creation.

[1]: https://lore.kernel.org/linux-cxl/651f27b728fef_ae7e7294b3@xxxxxxxxxxxxxxxxxxxxxxxxx.notmuch/

Changes in v4:
- Hold the device lock when checking if the dax_dev is bound to kmem
(Ying, Dan)
- Remove dax region checks (and locks) as they were unnecessary.
- Introduce guard(device) for device lock/unlock (Dan)
- Convert the rest of drivers/dax/bus.c to guard(device)
- Link to v3: https://lore.kernel.org/r/20231211-vv-dax_abi-v3-0-acf6cc1bde9f@xxxxxxxxx

Changes in v3:
- Fix typo in ABI docs (Zhijian Li)
- Add kernel config and module parameter dependencies to the ABI docs
entry (David Hildenbrand)
- Ensure kmem isn't active when setting the sysfs attribute (Ying
Huang)
- Simplify returning from memmap_on_memory_store()
- Link to v2: https://lore.kernel.org/r/20231206-vv-dax_abi-v2-0-f4f4f2336d08@xxxxxxxxx

Changes in v2:
- Fix CC lists, patch 1/2 didn't get sent correctly in v1
- Link to v1: https://lore.kernel.org/r/20231206-vv-dax_abi-v1-0-474eb88e201c@xxxxxxxxx

---
Vishal Verma (3):
Documentatiion/ABI: Add ABI documentation for sys-bus-dax
dax/bus: Introduce guard(device) for device_{lock,unlock} flows
dax: add a sysfs knob to control memmap_on_memory behavior

include/linux/device.h | 2 +
drivers/dax/bus.c | 141 ++++++++++++++-------------
Documentation/ABI/testing/sysfs-bus-dax | 168 ++++++++++++++++++++++++++++++++
3 files changed, 244 insertions(+), 67 deletions(-)
---
base-commit: c4e1ccfad42352918810802095a8ace8d1c744c9
change-id: 20231025-vv-dax_abi-17a219c46076

Best regards,
--
Vishal Verma <vishal.l.verma@xxxxxxxxx>