今天发布了针对FAMFS的征求意见补丁系列,FAMFS是Micron提出的一项新的特殊用途文件系统建议,用于处理结构连接内存(FAM)设备,例如将在Compute Express Link(CXL)服务器空间中变得更加常见的设备。
FAMFS是一种DAX文件系统,在今天的补丁程序附函中描述为:
此补丁程序集引入了FAMFS,这是一种用于共享、分解或连接结构的内存(FAM)的专用文件系统。FAMFS在任何方面都不是CXL特定的。
*Famfs创建了一种简单的访问方法,用于在可共享内存中存储和共享数据。内存以可映射内存的DAX文件的形式公开和访问。
*FAMFS支持多台主机从同一内存挂载同一文件系统(现有的FS-DAX文件系统不支持这一点)。
*可以在FS-DAX模式下的/dev/pmem设备上或Devdax模式下的/dev/dax设备上创建FAMFS文件系统(后者取决于本系列的补丁程序2-6)。FAMFS内核文件系统是FAMFS框架的一部分;用户空间[2]中的其他组件处理元数据,并指示FAMFS内核模块实例化映射到特定内存的文件。FAMFS用户空间有文档和相当全面的测试套件。
famfs内核模块从不直接访问共享内存(数据或元数据)。因此,由famfs框架管理的共享内存不会产生RAS“爆炸半径”问题,而这种问题应该能够使内核崩溃或不稳定。famfs内存中的中毒或超时可能会通过SIGBUS杀死应用程序,并导致由于内存故障通知而禁用挂载。
FAMFS不试图解决应用程序的并发性或一致性问题,尽管它确实解决了关于自己的数据结构的这些问题。应用程序可能会遇到困难的并发问题,但从并发的角度来看,有一些用例非常有用且不复杂:串行共享是一个(一次只有一个主机可以访问),只读并发共享是另一个(所有主机都可以无忧地读缓存)。
目前形式的FAMFS内核代码不到2000行代码。本RFC补丁系列更详细地展示了这一内核文件系统建议。
美光的John Groves在去年的会议上谈到了仍在开发中的FAMFSLPC 2023大会 for those interested in more background information.