All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bart Van Assche <Bart.VanAssche@sandisk.com>
To: "axboe@kernel.dk" <axboe@kernel.dk>,
	"ming.lei@redhat.com" <ming.lei@redhat.com>
Cc: "hch@infradead.org" <hch@infradead.org>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"osandov@fb.com" <osandov@fb.com>
Subject: Re: [PATCH 0/4] blk-mq: support to use hw tag for scheduling
Date: Wed, 3 May 2017 17:35:21 +0000	[thread overview]
Message-ID: <1493832921.3901.22.camel@sandisk.com> (raw)
In-Reply-To: <d537355e-3581-fc86-62ce-0757a84d9c1a@kernel.dk>

On Wed, 2017-05-03 at 11:24 -0600, Jens Axboe wrote:
> diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/m=
tip32xx.c
> index 3a779a4f5653..33b5d1382c45 100644
> --- a/drivers/block/mtip32xx/mtip32xx.c
> +++ b/drivers/block/mtip32xx/mtip32xx.c
> [ ... ]
> @@ -4009,7 +4009,7 @@ static int mtip_block_remove(struct driver_data *dd=
)
>  						dd->disk->disk_name);
> =20
>  	blk_freeze_queue_start(dd->queue);
> -	blk_mq_stop_hw_queues(dd->queue);
> +	blk_mq_stop_hw_queues(dd->queue, true);
>  	blk_mq_tagset_busy_iter(&dd->tags, mtip_no_dev_cleanup, dd);
> =20
>  	/*

Hello Jens,

How about replacing the blk_freeze_queue_start() and blk_mq_stop_hw_queues(=
)
calls by a single call to blk_set_queue_dying()? I think that would be more
appropriate in the context of mtip_block_remove().

> diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
> index 6b98ec2a3824..ce5490938232 100644
> --- a/drivers/block/nbd.c
> +++ b/drivers/block/nbd.c
> @@ -656,7 +656,7 @@ static void nbd_clear_req(struct request *req, void *=
data, bool reserved)
> =20
>  static void nbd_clear_que(struct nbd_device *nbd)
>  {
> -	blk_mq_stop_hw_queues(nbd->disk->queue);
> +	blk_mq_stop_hw_queues(nbd->disk->queue, true);
>  	blk_mq_tagset_busy_iter(&nbd->tag_set, nbd_clear_req, NULL);
>  	blk_mq_start_hw_queues(nbd->disk->queue);
>  	dev_dbg(disk_to_dev(nbd->disk), "queue cleared\n");

A similar comment here: since nbd_clear_que() is called just before shuttin=
g
down the block layer queue in the NBD driver, how about replacing the
blk_mq_stop_hw_queues() / blk_mq_start_hw_queues() pair by a single=20
blk_set_queue_dying() call?

> diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
> index 94173de1efaa..a73d2823cdb2 100644
> --- a/drivers/block/virtio_blk.c
> +++ b/drivers/block/virtio_blk.c
> @@ -844,7 +844,7 @@ static int virtblk_freeze(struct virtio_device *vdev)
>  	/* Make sure no work handler is accessing the device. */
>  	flush_work(&vblk->config_work);
> =20
> -	blk_mq_stop_hw_queues(vblk->disk->queue);
> +	blk_mq_stop_hw_queues(vblk->disk->queue, true);
> =20
>  	vdev->config->del_vqs(vdev);
>  	return 0;

Since the above blk_mq_stop_hw_queues() call is followed by a .del_vqs() ca=
ll,
shouldn't the blk_mq_stop_hw_queues() / blk_mq_start_hw_queues() pair in th=
e
virtio_blk driver be changed into a blk_mq_freeze_queue() / blk_mq_unfreeze=
_queue()
pair?

Thanks,

Bart.=

  reply	other threads:[~2017-05-03 17:35 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-28 15:15 [PATCH 0/4] blk-mq: support to use hw tag for scheduling Ming Lei
2017-04-28 15:15 ` [PATCH 1/4] blk-mq: introduce BLK_MQ_F_SCHED_USE_HW_TAG Ming Lei
2017-05-03 16:21   ` Omar Sandoval
2017-05-03 16:46   ` Omar Sandoval
2017-05-03 20:13     ` Ming Lei
2017-05-03 21:40       ` Omar Sandoval
2017-05-04  2:01         ` Ming Lei
2017-05-04  2:13           ` Jens Axboe
2017-05-04  2:51             ` Ming Lei
2017-05-04 14:06               ` Jens Axboe
2017-05-05 22:54                 ` Ming Lei
2017-05-05 22:54                   ` Ming Lei
2017-05-05 23:33                   ` Ming Lei
2017-05-05 23:33                     ` Ming Lei
2017-05-10  7:25                 ` Ming Lei
2017-04-28 15:15 ` [PATCH 2/4] blk-mq: introduce blk_mq_get_queue_depth() Ming Lei
2017-04-28 18:23   ` Jens Axboe
2017-04-29  9:55     ` Ming Lei
2017-05-03 16:55   ` Omar Sandoval
2017-05-04  2:10     ` Ming Lei
2017-04-28 15:15 ` [PATCH 3/4] blk-mq: use hw tag for scheduling if hw tag space is big enough Ming Lei
2017-04-28 18:09   ` Bart Van Assche
2017-04-29 10:35     ` Ming Lei
2017-05-01 15:06       ` Bart Van Assche
2017-05-02  3:49         ` Omar Sandoval
2017-05-02  8:46         ` Ming Lei
2017-04-28 18:22   ` Jens Axboe
2017-04-28 20:11     ` Bart Van Assche
2017-04-29 10:59     ` Ming Lei
2017-05-03 16:29   ` Omar Sandoval
2017-05-03 16:55     ` Ming Lei
2017-05-03 17:00       ` Omar Sandoval
2017-05-03 17:33         ` Ming Lei
2017-04-28 15:15 ` [PATCH 4/4] blk-mq: dump new introduced flag of BLK_MQ_F_SCHED_USE_HW_TAG Ming Lei
2017-04-28 18:10   ` Bart Van Assche
2017-04-29 11:00     ` Ming Lei
2017-04-28 20:29 ` [PATCH 0/4] blk-mq: support to use hw tag for scheduling Jens Axboe
2017-05-03  4:03   ` Ming Lei
2017-05-03 14:08     ` Jens Axboe
2017-05-03 14:10       ` Jens Axboe
2017-05-03 15:03         ` Ming Lei
2017-05-03 15:08           ` Jens Axboe
2017-05-03 15:38             ` Ming Lei
2017-05-03 16:06               ` Omar Sandoval
2017-05-03 16:21                 ` Ming Lei
2017-05-03 16:52               ` Ming Lei
2017-05-03 17:03                 ` Ming Lei
2017-05-03 17:07                   ` Jens Axboe
2017-05-03 17:15                     ` Bart Van Assche
2017-05-03 17:24                       ` Jens Axboe
2017-05-03 17:35                         ` Bart Van Assche [this message]
2017-05-03 17:40                           ` Jens Axboe
2017-05-03 17:43                             ` Bart Van Assche
2017-05-03 17:08                 ` Bart Van Assche
2017-05-03 17:11                   ` Jens Axboe
2017-05-03 17:19                   ` Ming Lei
2017-05-03 17:41                     ` Bart Van Assche

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1493832921.3901.22.camel@sandisk.com \
    --to=bart.vanassche@sandisk.com \
    --cc=axboe@kernel.dk \
    --cc=hch@infradead.org \
    --cc=linux-block@vger.kernel.org \
    --cc=ming.lei@redhat.com \
    --cc=osandov@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.