Message ID | 20241017160937.2283225-1-kbusch@meta.com (mailing list archive) |
---|---|
Headers | show |
Series | write hints for nvme fdp | expand |
On 10/17/2024 9:39 PM, Keith Busch wrote: > > +#define NVME_MAX_PLIDS (NVME_CTRL_PAGE_SIZE / sizeof(16)) > + Seems you intended sizeof(u16).
On Fri, Oct 18, 2024 at 04:18:17PM +0530, Kanchan Joshi wrote: > On 10/17/2024 9:39 PM, Keith Busch wrote: > > > > +#define NVME_MAX_PLIDS (NVME_CTRL_PAGE_SIZE / sizeof(16)) > > + > > Seems you intended sizeof(u16). Ha, yes, that's the intended type. I don't have anything close to 1k placement hints, so would have never noticed this was the wrong size.
From: Keith Busch <kbusch@kernel.org> Changes from v7: Limits io_uring per-io hints to raw block, and only if the block device registers a new queue limit indicating support for it. The per-io hints are opaque to the kernel. Minor changelog and code organization changes. I don't really understand the io_uring suggestions, so I just made the write_hint a first class field without the "meta" indirection. It's kind of like ioprio, which has it's own field too. Actually, might be neat if we could use ioprio since it already has a "hints" field that is currently only used by command duration limits. Kanchan Joshi (3): block, fs: restore kiocb based write hint processing io_uring: enable per-io hinting capability nvme: enable FDP support Keith Busch (3): block: use generic u16 for write hints block: introduce max_write_hints queue limit fs: introduce per-io hint support flag Documentation/ABI/stable/sysfs-block | 7 +++ block/blk-settings.c | 3 + block/blk-sysfs.c | 3 + block/fops.c | 10 ++-- drivers/nvme/host/core.c | 82 ++++++++++++++++++++++++++++ drivers/nvme/host/nvme.h | 5 ++ fs/aio.c | 1 + fs/cachefiles/io.c | 1 + fs/direct-io.c | 2 +- fs/iomap/direct-io.c | 2 +- include/linux/blk-mq.h | 3 +- include/linux/blk_types.h | 2 +- include/linux/blkdev.h | 12 ++++ include/linux/fs.h | 10 ++++ include/linux/nvme.h | 19 +++++++ include/uapi/linux/io_uring.h | 4 ++ io_uring/rw.c | 10 +++- 17 files changed, 166 insertions(+), 10 deletions(-)