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_ae7e729...@dwillia2-xfh.jf.intel.com.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-acf6cc1bd...@intel.com 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-f4f4f2336...@intel.com 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-474eb88e2...@intel.com --- 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.ve...@intel.com>