[PATCH v7 0/3] FDP and per-io hints
Kanchan Joshi
joshi.k at samsung.com
Mon Sep 30 11:13:02 PDT 2024
Another spin to incorporate the feedback from LPC and previous
iterations. The series adds two capabilities:
- FDP support at NVMe level (patch #1)
- Per-io hinting via io_uring (patch #3)
Patch #2 is needed to do per-io hints.
The motivation and interface details are present in the commit
descriptions.
Testing:
Done with fcntl and liburing based custom applications.
On raw block device, ext4, xfs, btrfs and F2FS.
Checked that no regression occurs for application that use per-inode
hints.
Checked that per-io hints, when passed, take the precedence over per-inode
hints.
Changes since v6:
- Change io_uring interface to pass hints as SQE metadata (Pavel, Hannes)
Changes since v5:
- Drop placement hints
- Add per-io hint interface
Changes since v4:
- Retain the size/type checking on the enum (Bart)
- Use the name "*_lifetime_hint" rather than "*_life_hint" (Bart)
Changes since v3:
- 4 new patches to introduce placement hints
- Make nvme patch use the placement hints rather than lifetime hints
Changes since v2:
- Base it on nvme-6.11 and resolve a merge conflict
Changes since v1:
- Reduce the fetched plids from 128 to 6 (Keith)
- Use struct_size for a calculation (Keith)
- Handle robot/sparse warning
Kanchan Joshi (3):
nvme: enable FDP support
block, fs: restore kiocb based write hint processing
io_uring: enable per-io hinting capability
Kanchan Joshi (3):
nvme: enable FDP support
block, fs: restore kiocb based write hint processing
io_uring: enable per-io hinting capability
block/fops.c | 6 +--
drivers/nvme/host/core.c | 70 +++++++++++++++++++++++++++++++++++
drivers/nvme/host/nvme.h | 4 ++
fs/aio.c | 1 +
fs/cachefiles/io.c | 1 +
fs/direct-io.c | 2 +-
fs/fcntl.c | 22 -----------
fs/iomap/direct-io.c | 2 +-
include/linux/fs.h | 8 ++++
include/linux/nvme.h | 19 ++++++++++
include/linux/rw_hint.h | 24 ++++++++++++
include/uapi/linux/io_uring.h | 19 ++++++++++
io_uring/rw.c | 24 ++++++++++++
13 files changed, 175 insertions(+), 27 deletions(-)
--
2.25.1
More information about the Linux-nvme
mailing list