Micron Engineer Sends Out Linux Patches For New FAMFS File-System
A request for comments patch series was posted today for FAMFS, a new special purpose file-system proposal out of Micron for dealing with Fabric-Attached Memory (FAM) devices such as will become more common within the Compute Express Link (CXL) server space.
FAMFS is a DAX file-system described in today's patch cover letter as:
The FAMFS kernel code in its current form is just shy of two thousand lines of code. This RFC patch series lays out this kernel file-system proposal in more detail.
FAMFS while still in development was talked about by Micron's John Groves at last year's LPC 2023 conference for those interested in more background information.
FAMFS is a DAX file-system described in today's patch cover letter as:
This patch set introduces famfs - a special-purpose fs-dax file system for sharable disaggregated or fabric-attached memory (FAM). Famfs is not CXL-specific in anyway way.
* Famfs creates a simple access method for storing and sharing data in sharable memory. The memory is exposed and accessed as memory-mappable dax files.
* Famfs supports multiple hosts mounting the same file system from the same memory (something existing fs-dax file systems don't do).
* A famfs file system can be created on either a /dev/pmem device in fs-dax mode, or a /dev/dax device in devdax mode (the latter depending on patches 2-6 of this series).
The famfs kernel file system is part the famfs framework; additional components in user space[2] handle metadata and direct the famfs kernel module to instantiate files that map to specific memory. The famfs user space has documentation and a reasonably thorough test suite.
The famfs kernel module never accesses the shared memory directly (either data or metadata). Because of this, shared memory managed by the famfs framework does not create a RAS "blast radius" problem that should be able to crash or de-stabilize the kernel. Poison or timeouts in famfs memory can be expected to kill apps via SIGBUS and cause mounts to be disabled due to memory failure notifications.
Famfs does not attempt to solve concurrency or coherency problems for apps, although it does solve these problems in regard to its own data structures. Apps may encounter hard concurrency problems, but there are use cases that are imminently useful and uncomplicated from a concurrency perspective: serial sharing is one (only one host at a time has access), and read-only concurrent sharing is another (all hosts can read-cache without worry).
The FAMFS kernel code in its current form is just shy of two thousand lines of code. This RFC patch series lays out this kernel file-system proposal in more detail.
FAMFS while still in development was talked about by Micron's John Groves at last year's LPC 2023 conference for those interested in more background information.
4 Comments