Re: [RFC PATCH 13/18] drivers: set bio iopriority field

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 1 May 2019, at 06.28, Chaitanya Kulkarni <Chaitanya.Kulkarni@xxxxxxx> wrote:
> 
> Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@xxxxxxx>
> ---
> drivers/block/drbd/drbd_actlog.c    | 2 ++
> drivers/block/drbd/drbd_bitmap.c    | 3 +++
> drivers/block/xen-blkback/blkback.c | 3 +++
> drivers/block/zram/zram_drv.c       | 2 ++
> drivers/lightnvm/pblk-read.c        | 2 ++
> drivers/lightnvm/pblk-write.c       | 1 +
> drivers/md/bcache/journal.c         | 2 ++
> drivers/md/bcache/super.c           | 2 ++
> drivers/md/dm-bufio.c               | 2 ++
> drivers/md/dm-cache-target.c        | 1 +
> drivers/md/dm-io.c                  | 2 ++
> drivers/md/dm-log-writes.c          | 5 +++++
> drivers/md/dm-thin.c                | 1 +
> drivers/md/dm-writecache.c          | 2 ++
> drivers/md/dm-zoned-metadata.c      | 4 ++++
> drivers/md/md.c                     | 4 ++++
> drivers/md/raid5-cache.c            | 4 ++++
> drivers/md/raid5-ppl.c              | 3 +++
> drivers/nvme/target/io-cmd-bdev.c   | 7 +++++++
> drivers/staging/erofs/internal.h    | 3 +++
> drivers/target/target_core_iblock.c | 3 +++
> 21 files changed, 58 insertions(+)
> 
> diff --git a/drivers/block/drbd/drbd_actlog.c b/drivers/block/drbd/drbd_actlog.c
> index 5f0eaee8c8a7..67235633c172 100644
> --- a/drivers/block/drbd/drbd_actlog.c
> +++ b/drivers/block/drbd/drbd_actlog.c
> @@ -27,6 +27,7 @@
> #include <linux/crc32c.h>
> #include <linux/drbd.h>
> #include <linux/drbd_limits.h>
> +#include <linux/ioprio.h>
> #include "drbd_int.h"
> 
> 
> @@ -159,6 +160,7 @@ static int _drbd_md_sync_page_io(struct drbd_device *device,
> 	bio->bi_private = device;
> 	bio->bi_end_io = drbd_md_endio;
> 	bio_set_op_attrs(bio, op, op_flags);
> +	bio_set_prio(bio, get_current_ioprio());
> 
> 	if (op != REQ_OP_WRITE && device->state.disk == D_DISKLESS && device->ldev == NULL)
> 		/* special case, drbd_md_read() during drbd_adm_attach(): no get_ldev */
> diff --git a/drivers/block/drbd/drbd_bitmap.c b/drivers/block/drbd/drbd_bitmap.c
> index 11a85b740327..e7cb027488c7 100644
> --- a/drivers/block/drbd/drbd_bitmap.c
> +++ b/drivers/block/drbd/drbd_bitmap.c
> @@ -30,6 +30,7 @@
> #include <linux/drbd.h>
> #include <linux/slab.h>
> #include <linux/highmem.h>
> +#include <linux/ioprio.h>
> 
> #include "drbd_int.h"
> 
> @@ -1028,6 +1029,8 @@ static void bm_page_io_async(struct drbd_bm_aio_ctx *ctx, int page_nr) __must_ho
> 	bio->bi_private = ctx;
> 	bio->bi_end_io = drbd_bm_endio;
> 	bio_set_op_attrs(bio, op, 0);
> +	bio_set_prio(bio, get_current_ioprio());
> +
> 
> 	if (drbd_insert_fault(device, (op == REQ_OP_WRITE) ? DRBD_FAULT_MD_WR : DRBD_FAULT_MD_RD)) {
> 		bio_io_error(bio);
> diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
> index fd1e19f1a49f..41294944267d 100644
> --- a/drivers/block/xen-blkback/blkback.c
> +++ b/drivers/block/xen-blkback/blkback.c
> @@ -42,6 +42,7 @@
> #include <linux/delay.h>
> #include <linux/freezer.h>
> #include <linux/bitmap.h>
> +#include <linux/ioprio.h>
> 
> #include <xen/events.h>
> #include <xen/page.h>
> @@ -1375,6 +1376,7 @@ static int dispatch_rw_block_io(struct xen_blkif_ring *ring,
> 			bio->bi_end_io  = end_block_io_op;
> 			bio->bi_iter.bi_sector  = preq.sector_number;
> 			bio_set_op_attrs(bio, operation, operation_flags);
> +			bio_set_prio(bio, get_current_ioprio());
> 		}
> 
> 		preq.sector_number += seg[i].nsec;
> @@ -1393,6 +1395,7 @@ static int dispatch_rw_block_io(struct xen_blkif_ring *ring,
> 		bio->bi_private = pending_req;
> 		bio->bi_end_io  = end_block_io_op;
> 		bio_set_op_attrs(bio, operation, operation_flags);
> +		bio_set_prio(bio, get_current_ioprio());
> 	}
> 
> 	atomic_set(&pending_req->pendcnt, nbio);
> diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
> index 399cad7daae7..1a4e3b0e98ad 100644
> --- a/drivers/block/zram/zram_drv.c
> +++ b/drivers/block/zram/zram_drv.c
> @@ -33,6 +33,7 @@
> #include <linux/sysfs.h>
> #include <linux/debugfs.h>
> #include <linux/cpuhotplug.h>
> +#include <linux/ioprio.h>
> 
> #include "zram_drv.h"
> 
> @@ -596,6 +597,7 @@ static int read_from_bdev_async(struct zram *zram, struct bio_vec *bvec,
> 
> 	bio->bi_iter.bi_sector = entry * (PAGE_SIZE >> 9);
> 	bio_set_dev(bio, zram->bdev);
> +	bio_set_prio(bio, get_current_ioprio());
> 	if (!bio_add_page(bio, bvec->bv_page, bvec->bv_len, bvec->bv_offset)) {
> 		bio_put(bio);
> 		return -EIO;
> diff --git a/drivers/lightnvm/pblk-read.c b/drivers/lightnvm/pblk-read.c
> index 0b7d5fb4548d..2b866744545e 100644
> --- a/drivers/lightnvm/pblk-read.c
> +++ b/drivers/lightnvm/pblk-read.c
> @@ -16,6 +16,7 @@
>  * pblk-read.c - pblk's read path
>  */
> 
> +#include <linux/ioprio.h>
> #include "pblk.h"
> 
> /*
> @@ -336,6 +337,7 @@ static int pblk_setup_partial_read(struct pblk *pblk, struct nvm_rq *rqd,
> 
> 	new_bio->bi_iter.bi_sector = 0; /* internal bio */
> 	bio_set_op_attrs(new_bio, REQ_OP_READ, 0);
> +	bio_set_prio(bio, get_current_ioprio());
> 
> 	rqd->bio = new_bio;
> 	rqd->nr_ppas = nr_holes;
> diff --git a/drivers/lightnvm/pblk-write.c b/drivers/lightnvm/pblk-write.c
> index 6593deab52da..3fdbbff40fde 100644
> --- a/drivers/lightnvm/pblk-write.c
> +++ b/drivers/lightnvm/pblk-write.c
> @@ -628,6 +628,7 @@ static int pblk_submit_write(struct pblk *pblk, int *secs_left)
> 
> 	bio->bi_iter.bi_sector = 0; /* internal bio */
> 	bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
> +	bio_set_prio(bio, get_current_ioprio());
> 
> 	rqd = pblk_alloc_rqd(pblk, PBLK_WRITE);
> 	rqd->bio = bio;
> 

pblk bits look god to me.

Reviewed-by: Javier González <javier@xxxxxxxxxxx>

Attachment: signature.asc
Description: Message signed with OpenPGP


[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux