Re: [PATCH 2/2] block: remove the per-bio/request write hint

Dave Chinner
2022-03-04T22:13:14Z

On Fri, Mar 04, 2022 at 06:55:56PM +0100, Christoph Hellwig wrote:
> With the NVMe support for this gone, there are no consumers of these hints
> left, so remove them.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
> block/bio.c | 2 --
> block/blk-crypto-fallback.c | 1 -
> block/blk-merge.c | 14 --------------
> block/blk-mq-debugfs.c | 24 ------------------------
> block/blk-mq.c | 1 -
> block/bounce.c | 1 -
> block/fops.c | 3 ---
> drivers/md/raid1.c | 2 --
> drivers/md/raid5-ppl.c | 28 +++-------------------------
> drivers/md/raid5.c | 6 ------
> fs/btrfs/extent_io.c | 1 -
> fs/buffer.c | 13 +++++--------
> fs/direct-io.c | 3 ---
> fs/ext4/page-io.c | 5 +----
> fs/f2fs/data.c | 2 --
> fs/gfs2/lops.c | 1 -
> fs/iomap/buffered-io.c | 2 --
> fs/iomap/direct-io.c | 1 -
> fs/mpage.c | 1 -
> fs/zonefs/super.c | 1 -
> include/linux/blk_types.h | 1 -
> include/linux/blkdev.h | 3 ---
> 22 files changed, 9 insertions(+), 107 deletions(-)

AFAICT, all the filesystem/IO path passthrough plumbing for hints is
now gone, and no hardware will ever receive hints. Doesn't this
mean that file_write_hint(), file->f_write_hint and iocb->ki_hint
are now completely unused, too? That also means the fcntl()s for
F_{G,S}ET_FILE_RW_HINT now have zero effect on IO, so should they be
neutered, too?

AFAICT, this patch leaves just the f2fs allocator usage of
inode->i_rw_hint to select a segment to allocate from as the
remaining consumer of this entire plumbing and user API. Is that
used by applications anywhere, or can that be removed and so the
rest of the infrastructure get removed and the fcntl()s no-op'd or
-EOPNOTSUPP?

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com