Linux block subsystem maintainer Jens Axboe has queued up a set of patches being worked on the past number of months around block write streams for making use of NVMe SSDs supporting the NVMe Flexible Data Placement (FDP) specification.
NVMe Flexible Data Placement came out of work from Google and Meta engineers with earlier work on NVMe write application. NVMe FDP allows for the host to provide hints over where to place data. NVMe FDP support has been upstream with I/O passthrough for a while now and there’s been FDP emulation inQEMU and various other NVMe FDP features in the kernel and related components. For Linux 6.16 is now block write streams and being able to expose per-IO write streams with IO_uring.
The newly-queued patches make changes to the Linux kernel block code to expose write streams for block device nodes, various NVMe FDP changes, and enabling per-IO write streams with IO_uring.
Those wanting to learn more about NVMe Flexible Data Placement in general can see this Samsung blog post going into detail over the feature and benefits.
These patches as of yesterday made it into linux-block.git’s for-6.16/block branch and thus expected to make it into the mainline kernel once the Linux 6.16 merge window gets underway around the end of May.