From: Ming Lei <ming.lei@redhat.com> To: Jens Axboe <axboe@fb.com>, linux-block@vger.kernel.org, Christoph Hellwig <hch@infradead.org> Cc: Bart Van Assche <bart.vanassche@sandisk.com>, linux-nvme@lists.infradead.org, linux-scsi@vger.kernel.org, dm-devel@redhat.com Subject: [PATCH 1/6] blk-mq: introduce blk_mq_unquiesce_queue Date: Fri, 26 May 2017 11:07:34 +0800 [thread overview] Message-ID: <20170526030740.26959-2-ming.lei@redhat.com> (raw) In-Reply-To: <20170526030740.26959-1-ming.lei@redhat.com> Now we use blk_mq_start_stopped_hw_queues() implictely as pair of blk_mq_quiesce_queue(), now we introduce blk_mq_unquiesce_queue() explictely. Also this function is introduced for fixing current quiescing mechanism, which will be done in the following patches. Signed-off-by: Ming Lei <ming.lei@redhat.com> --- block/blk-mq.c | 13 +++++++++++++ include/linux/blkdev.h | 1 + 2 files changed, 14 insertions(+) diff --git a/block/blk-mq.c b/block/blk-mq.c index f2224ffd225d..a26fee3fb389 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -181,6 +181,19 @@ void blk_mq_quiesce_queue(struct request_queue *q) } EXPORT_SYMBOL_GPL(blk_mq_quiesce_queue); +/** + * blk_mq_unquiesce_queue() - pair of blk_mq_quiesce_queue() + * @q: request queue. + * + * This function recovers queue into the state before quiescing + * done by blk_mq_quiesce_queue + */ +void blk_mq_unquiesce_queue(struct request_queue *q) +{ + blk_mq_start_stopped_hw_queues(q, true); +} +EXPORT_SYMBOL_GPL(blk_mq_unquiesce_queue); + void blk_mq_wake_waiters(struct request_queue *q) { struct blk_mq_hw_ctx *hctx; diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index ab92c4ea138b..41291be82ac4 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -964,6 +964,7 @@ extern void __blk_run_queue_uncond(struct request_queue *q); extern void blk_run_queue(struct request_queue *); extern void blk_run_queue_async(struct request_queue *q); extern void blk_mq_quiesce_queue(struct request_queue *q); +extern void blk_mq_unquiesce_queue(struct request_queue *q); extern int blk_rq_map_user(struct request_queue *, struct request *, struct rq_map_data *, void __user *, unsigned long, gfp_t); -- 2.9.4
WARNING: multiple messages have this Message-ID (diff)
From: ming.lei@redhat.com (Ming Lei) Subject: [PATCH 1/6] blk-mq: introduce blk_mq_unquiesce_queue Date: Fri, 26 May 2017 11:07:34 +0800 [thread overview] Message-ID: <20170526030740.26959-2-ming.lei@redhat.com> (raw) In-Reply-To: <20170526030740.26959-1-ming.lei@redhat.com> Now we use blk_mq_start_stopped_hw_queues() implictely as pair of blk_mq_quiesce_queue(), now we introduce blk_mq_unquiesce_queue() explictely. Also this function is introduced for fixing current quiescing mechanism, which will be done in the following patches. Signed-off-by: Ming Lei <ming.lei at redhat.com> --- block/blk-mq.c | 13 +++++++++++++ include/linux/blkdev.h | 1 + 2 files changed, 14 insertions(+) diff --git a/block/blk-mq.c b/block/blk-mq.c index f2224ffd225d..a26fee3fb389 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -181,6 +181,19 @@ void blk_mq_quiesce_queue(struct request_queue *q) } EXPORT_SYMBOL_GPL(blk_mq_quiesce_queue); +/** + * blk_mq_unquiesce_queue() - pair of blk_mq_quiesce_queue() + * @q: request queue. + * + * This function recovers queue into the state before quiescing + * done by blk_mq_quiesce_queue + */ +void blk_mq_unquiesce_queue(struct request_queue *q) +{ + blk_mq_start_stopped_hw_queues(q, true); +} +EXPORT_SYMBOL_GPL(blk_mq_unquiesce_queue); + void blk_mq_wake_waiters(struct request_queue *q) { struct blk_mq_hw_ctx *hctx; diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index ab92c4ea138b..41291be82ac4 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -964,6 +964,7 @@ extern void __blk_run_queue_uncond(struct request_queue *q); extern void blk_run_queue(struct request_queue *); extern void blk_run_queue_async(struct request_queue *q); extern void blk_mq_quiesce_queue(struct request_queue *q); +extern void blk_mq_unquiesce_queue(struct request_queue *q); extern int blk_rq_map_user(struct request_queue *, struct request *, struct rq_map_data *, void __user *, unsigned long, gfp_t); -- 2.9.4
next prev parent reply other threads:[~2017-05-26 3:07 UTC|newest] Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-05-26 3:07 [PATCH 0/6] blk-mq: fix & improve queue quiescing Ming Lei 2017-05-26 3:07 ` Ming Lei 2017-05-26 3:07 ` Ming Lei [this message] 2017-05-26 3:07 ` [PATCH 1/6] blk-mq: introduce blk_mq_unquiesce_queue Ming Lei 2017-05-26 3:07 ` [PATCH 2/6] blk-mq: use the introduced blk_mq_unquiesce_queue() Ming Lei 2017-05-26 3:07 ` Ming Lei 2017-05-26 7:46 ` kbuild test robot 2017-05-26 7:46 ` kbuild test robot 2017-05-26 7:46 ` kbuild test robot 2017-05-26 8:24 ` Ming Lei 2017-05-26 8:24 ` Ming Lei 2017-05-26 8:24 ` Ming Lei 2017-05-26 3:07 ` [PATCH 3/6] blk-mq: fix blk_mq_quiesce_queue Ming Lei 2017-05-26 3:07 ` Ming Lei 2017-05-26 3:07 ` [PATCH 4/6] blk-mq: update comments on blk_mq_quiesce_queue() Ming Lei 2017-05-26 3:07 ` Ming Lei 2017-05-26 3:07 ` [PATCH 5/6] blk-mq: don't stop queue for quiescing Ming Lei 2017-05-26 3:07 ` Ming Lei 2017-05-26 3:07 ` [PATCH 6/6] blk-mq: clarify dispatching may not be drained/blocked by stopping queue Ming Lei 2017-05-26 3:07 ` Ming Lei 2017-05-26 3:07 ` [PATCH 6/6] blk-mq: clarify dispatching won't be blocked " Ming Lei 2017-05-26 3:07 ` Ming Lei
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=20170526030740.26959-2-ming.lei@redhat.com \ --to=ming.lei@redhat.com \ --cc=axboe@fb.com \ --cc=bart.vanassche@sandisk.com \ --cc=dm-devel@redhat.com \ --cc=hch@infradead.org \ --cc=linux-block@vger.kernel.org \ --cc=linux-nvme@lists.infradead.org \ --cc=linux-scsi@vger.kernel.org \ /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: linkBe 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.