There’s yet another new Linux file-system on the block: DAXFS has been announced as a new read-only open-source file-system.
DAXFS as implied by the name makes use of the Linux kernel’s direct access “DAX” infrastructure. DAX is designed as a simple read-only file-system operating directly atop shared physical memory.
DAXFS is designed to provide zero-copy reads from contiguous memory regions and bypasses the traditional block I/O stack, buffer heads, and page cache entirely — a big difference compared to the likes of RAMFS or TMPFS.
DAXFS is designed for zero-copy efficiency, true physical sharing, hardware integration with the likes of GPUs and CXL hardware, and simplicity:
“Key Features
– Zero-Copy Efficiency: File reads resolve to direct memory loads, eliminating page cache duplication and CPU-driven copies.
– True Physical Sharing: By mapping a contiguous physical address or a dma-buf, multiple kernel instances or containers can share the same physical pages.
– Hardware Integration: Supports mounting memory exported by GPUs, FPGAs, or CXL devices via the dma-buf API.
– Simplicity: Uses a self-contained, read-only image format with no runtime allocation or complex device management.”
DAXFS is being developed by Multikernel.io, the developers behind a proposed multi-kernel architecture for Linux. As part of their DAXFS work they aim to enhance their multi-kernel efforts as well as enhancing CXL support and better accelerator data handling:
“Primary Use Cases
– Multikernel Environments: Sharing a common Docker image across independent kernel instances via shared memory.
– CXL Memory Pooling: Accessing read-only data across multiple hosts without network I/O.
– Container Rootfs Sharing: Using a single DAXFS base image for multiple containers (via OverlayFS) to save physical RAM.
– Accelerator Data: Zero-copy access to model weights or lookup tables stored in device memory.”
DAXFS was announced today on the Linux Kernel Mailing List. The current DAXFS kernel module and user-space tool for it can currently be found on GitHub while awaiting to see the level of upstream interest in potentially working toward upstreaming it into the mainline Linux kernel.
