On 10/6/26 17:45, Christoph Böhmwalder wrote:
When DRBD's metadata device resides on persistent memory (PMEM/NVDIMM),
accessing it by reading and writing full blocks is unnecessarily
costly.
Add a DAX-based metadata path that directly maps the metadata region,
enabling byte-granular, IRQ-safe access without having to go through
the block layer.

The PMEM path also introduces a more efficient activity log layout:
instead of writing journal transactions, the in-memory LRU-cache hash
table is stored directly in persistent memory and updated in-place.
Similarly, the resync bitmap is accessed directly from PMEM rather than
being loaded into and flushed from DRAM.

This is compiled in only when CONFIG_DEV_DAX_PMEM is enabled.

Co-developed-by: Philipp Reisner <[email protected]>
Signed-off-by: Philipp Reisner <[email protected]>
Signed-off-by: Christoph Böhmwalder <[email protected]>
---
  drivers/block/drbd/Makefile        |   1 +
  drivers/block/drbd/drbd_dax_pmem.c | 172 +++++++++++++++++++++++++++++
  drivers/block/drbd/drbd_dax_pmem.h |  43 ++++++++
  3 files changed, 216 insertions(+)
  create mode 100644 drivers/block/drbd/drbd_dax_pmem.c
  create mode 100644 drivers/block/drbd/drbd_dax_pmem.h

Sorry, the CCs for DAX got dropped, adding them now. Original link:
https://lore.kernel.org/linux-block/[email protected]/

Reply via email to