diff mbox series

block: don't plug in blkdev_write_iter

Message ID 20230520044503.334444-1-hch@lst.de (mailing list archive)
State New, archived
Headers show
Series block: don't plug in blkdev_write_iter | expand

Commit Message

Christoph Hellwig May 20, 2023, 4:45 a.m. UTC
For direct I/O writes that issues more than a single bio, the pluggin is
already done in __blkdev_direct_IO.
For synchronous buffered writes the plugging is done deep down in
writeback_inodes_wb / wb_writeback.

For the other cases there is no point in plugging as as single bio or no
bio at all is submitted.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 block/fops.c | 3 ---
 1 file changed, 3 deletions(-)

Comments

Jens Axboe May 20, 2023, 11:43 a.m. UTC | #1
On Sat, 20 May 2023 06:45:03 +0200, Christoph Hellwig wrote:
> For direct I/O writes that issues more than a single bio, the pluggin is
> already done in __blkdev_direct_IO.
> For synchronous buffered writes the plugging is done deep down in
> writeback_inodes_wb / wb_writeback.
> 
> For the other cases there is no point in plugging as as single bio or no
> bio at all is submitted.
> 
> [...]

Applied, thanks!

[1/1] block: don't plug in blkdev_write_iter
      commit: 712c7364655f69827d0b96f69594886ecbfb412f

Best regards,
diff mbox series

Patch

diff --git a/block/fops.c b/block/fops.c
index d2e6be4e3d1c7d..102ee85fc6eedf 100644
--- a/block/fops.c
+++ b/block/fops.c
@@ -520,7 +520,6 @@  static ssize_t blkdev_write_iter(struct kiocb *iocb, struct iov_iter *from)
 	struct block_device *bdev = iocb->ki_filp->private_data;
 	struct inode *bd_inode = bdev->bd_inode;
 	loff_t size = bdev_nr_bytes(bdev);
-	struct blk_plug plug;
 	size_t shorted = 0;
 	ssize_t ret;
 
@@ -545,12 +544,10 @@  static ssize_t blkdev_write_iter(struct kiocb *iocb, struct iov_iter *from)
 		iov_iter_truncate(from, size);
 	}
 
-	blk_start_plug(&plug);
 	ret = __generic_file_write_iter(iocb, from);
 	if (ret > 0)
 		ret = generic_write_sync(iocb, ret);
 	iov_iter_reexpand(from, iov_iter_count(from) + shorted);
-	blk_finish_plug(&plug);
 	return ret;
 }