From: Logan Gunthorpe <logang@deltatee.com> To: linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org, linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org Cc: Christoph Hellwig <hch@lst.de>, Sagi Grimberg <sagi@grimberg.me>, Keith Busch <kbusch@kernel.org>, Jens Axboe <axboe@fb.com>, Chaitanya Kulkarni <Chaitanya.Kulkarni@wdc.com>, Max Gurtovoy <maxg@mellanox.com>, Stephen Bates <sbates@raithlin.com>, Logan Gunthorpe <logang@deltatee.com> Subject: [PATCH v7 12/14] block: don't check blk_rq_is_passthrough() in blk_do_io_stat() Date: Thu, 1 Aug 2019 17:45:11 -0600 [thread overview] Message-ID: <20190801234514.7941-13-logang@deltatee.com> (raw) In-Reply-To: <20190801234514.7941-1-logang@deltatee.com> Instead of checking blk_rq_is_passthruough() for every call to blk_do_io_stat(), don't set RQF_IO_STAT for passthrough requests. This should be equivalent, and opens the possibility of passthrough requests specifically requesting statistics tracking. Signed-off-by: Logan Gunthorpe <logang@deltatee.com> --- block/blk-mq.c | 2 +- block/blk.h | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index f78d3287dd82..66cb5bfa2ebf 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -318,7 +318,7 @@ static struct request *blk_mq_rq_ctx_init(struct blk_mq_alloc_data *data, rq->cmd_flags = op; if (data->flags & BLK_MQ_REQ_PREEMPT) rq->rq_flags |= RQF_PREEMPT; - if (blk_queue_io_stat(data->q)) + if (blk_queue_io_stat(data->q) && !blk_rq_is_passthrough(rq)) rq->rq_flags |= RQF_IO_STAT; INIT_LIST_HEAD(&rq->queuelist); INIT_HLIST_NODE(&rq->hash); diff --git a/block/blk.h b/block/blk.h index de6b2e146d6e..554efa769bfe 100644 --- a/block/blk.h +++ b/block/blk.h @@ -234,13 +234,12 @@ int blk_dev_init(void); * * a) it's attached to a gendisk, and * b) the queue had IO stats enabled when this request was started, and - * c) it's a file system request + * c) it's a file system request (RQF_IO_STAT will not be set otherwise) */ static inline bool blk_do_io_stat(struct request *rq) { return rq->rq_disk && - (rq->rq_flags & RQF_IO_STAT) && - !blk_rq_is_passthrough(rq); + (rq->rq_flags & RQF_IO_STAT); } static inline void req_set_nomerge(struct request_queue *q, struct request *req) -- 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: logang@deltatee.com (Logan Gunthorpe) Subject: [PATCH v7 12/14] block: don't check blk_rq_is_passthrough() in blk_do_io_stat() Date: Thu, 1 Aug 2019 17:45:11 -0600 [thread overview] Message-ID: <20190801234514.7941-13-logang@deltatee.com> (raw) In-Reply-To: <20190801234514.7941-1-logang@deltatee.com> Instead of checking blk_rq_is_passthruough() for every call to blk_do_io_stat(), don't set RQF_IO_STAT for passthrough requests. This should be equivalent, and opens the possibility of passthrough requests specifically requesting statistics tracking. Signed-off-by: Logan Gunthorpe <logang at deltatee.com> --- block/blk-mq.c | 2 +- block/blk.h | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index f78d3287dd82..66cb5bfa2ebf 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -318,7 +318,7 @@ static struct request *blk_mq_rq_ctx_init(struct blk_mq_alloc_data *data, rq->cmd_flags = op; if (data->flags & BLK_MQ_REQ_PREEMPT) rq->rq_flags |= RQF_PREEMPT; - if (blk_queue_io_stat(data->q)) + if (blk_queue_io_stat(data->q) && !blk_rq_is_passthrough(rq)) rq->rq_flags |= RQF_IO_STAT; INIT_LIST_HEAD(&rq->queuelist); INIT_HLIST_NODE(&rq->hash); diff --git a/block/blk.h b/block/blk.h index de6b2e146d6e..554efa769bfe 100644 --- a/block/blk.h +++ b/block/blk.h @@ -234,13 +234,12 @@ int blk_dev_init(void); * * a) it's attached to a gendisk, and * b) the queue had IO stats enabled when this request was started, and - * c) it's a file system request + * c) it's a file system request (RQF_IO_STAT will not be set otherwise) */ static inline bool blk_do_io_stat(struct request *rq) { return rq->rq_disk && - (rq->rq_flags & RQF_IO_STAT) && - !blk_rq_is_passthrough(rq); + (rq->rq_flags & RQF_IO_STAT); } static inline void req_set_nomerge(struct request_queue *q, struct request *req) -- 2.20.1
next prev parent reply other threads:[~2019-08-01 23:46 UTC|newest] Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-08-01 23:44 [PATCH v7 00/14] nvmet: add target passthru commands support Logan Gunthorpe 2019-08-01 23:44 ` Logan Gunthorpe 2019-08-01 23:45 ` [PATCH v7 01/14] nvme-core: introduce nvme_ctrl_get_by_path() Logan Gunthorpe 2019-08-01 23:45 ` Logan Gunthorpe 2019-08-14 14:20 ` Max Gurtovoy 2019-08-14 14:20 ` Max Gurtovoy 2019-08-15 11:46 ` Max Gurtovoy 2019-08-15 11:46 ` Max Gurtovoy 2019-08-15 15:59 ` Logan Gunthorpe 2019-08-15 15:59 ` Logan Gunthorpe 2019-08-01 23:45 ` [PATCH v7 02/14] nvme-core: export existing ctrl and ns interfaces Logan Gunthorpe 2019-08-01 23:45 ` Logan Gunthorpe 2019-08-01 23:45 ` [PATCH v7 03/14] nvmet: add return value to nvmet_add_async_event() Logan Gunthorpe 2019-08-01 23:45 ` Logan Gunthorpe 2019-08-14 14:26 ` Max Gurtovoy 2019-08-14 14:26 ` Max Gurtovoy 2019-08-14 16:59 ` Logan Gunthorpe 2019-08-14 16:59 ` Logan Gunthorpe 2019-08-01 23:45 ` [PATCH v7 04/14] nvmet: make nvmet_copy_ns_identifier() non-static Logan Gunthorpe 2019-08-01 23:45 ` Logan Gunthorpe 2019-08-14 14:29 ` Max Gurtovoy 2019-08-14 14:29 ` Max Gurtovoy 2019-08-15 7:15 ` Chaitanya Kulkarni 2019-08-15 7:15 ` Chaitanya Kulkarni 2019-08-01 23:45 ` [PATCH v7 05/14] nvmet-passthru: update KConfig with config passthru option Logan Gunthorpe 2019-08-01 23:45 ` Logan Gunthorpe 2019-08-14 14:31 ` Max Gurtovoy 2019-08-14 14:31 ` Max Gurtovoy 2019-08-01 23:45 ` [PATCH v7 06/14] nvmet-passthru: add passthru code to process commands Logan Gunthorpe 2019-08-01 23:45 ` Logan Gunthorpe 2019-08-01 23:45 ` [PATCH v7 07/14] nvmet-passthru: add enable/disable helpers Logan Gunthorpe 2019-08-01 23:45 ` Logan Gunthorpe 2019-08-15 12:20 ` Max Gurtovoy 2019-08-15 12:20 ` Max Gurtovoy 2019-08-15 16:02 ` Logan Gunthorpe 2019-08-15 16:02 ` Logan Gunthorpe 2019-08-01 23:45 ` [PATCH v7 08/14] nvmet-core: allow one host per passthru-ctrl Logan Gunthorpe 2019-08-01 23:45 ` Logan Gunthorpe 2019-08-15 12:36 ` Max Gurtovoy 2019-08-15 12:36 ` Max Gurtovoy 2019-08-15 16:06 ` Logan Gunthorpe 2019-08-15 16:06 ` Logan Gunthorpe 2019-08-18 10:33 ` Max Gurtovoy 2019-08-22 0:09 ` Sagi Grimberg 2019-08-22 8:50 ` Max Gurtovoy 2019-08-22 17:41 ` Sagi Grimberg 2019-08-22 19:17 ` Sagi Grimberg 2019-08-22 19:41 ` Logan Gunthorpe 2019-08-01 23:45 ` [PATCH v7 09/14] nvmet-core: don't check the data len for pt-ctrl Logan Gunthorpe 2019-08-01 23:45 ` Logan Gunthorpe 2019-08-01 23:45 ` [PATCH v7 10/14] nvmet-tcp: don't check data_len in nvmet_tcp_map_data() Logan Gunthorpe 2019-08-01 23:45 ` Logan Gunthorpe 2019-08-01 23:45 ` [PATCH v7 11/14] nvmet-configfs: introduce passthru configfs interface Logan Gunthorpe 2019-08-01 23:45 ` Logan Gunthorpe 2019-08-15 12:46 ` Max Gurtovoy 2019-08-15 12:46 ` Max Gurtovoy 2019-08-01 23:45 ` Logan Gunthorpe [this message] 2019-08-01 23:45 ` [PATCH v7 12/14] block: don't check blk_rq_is_passthrough() in blk_do_io_stat() Logan Gunthorpe 2019-08-01 23:45 ` [PATCH v7 13/14] block: call blk_account_io_start() in blk_execute_rq_nowait() Logan Gunthorpe 2019-08-01 23:45 ` Logan Gunthorpe 2019-08-01 23:45 ` [PATCH v7 14/14] nvmet-passthru: support block accounting Logan Gunthorpe 2019-08-01 23:45 ` Logan Gunthorpe
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=20190801234514.7941-13-logang@deltatee.com \ --to=logang@deltatee.com \ --cc=Chaitanya.Kulkarni@wdc.com \ --cc=axboe@fb.com \ --cc=hch@lst.de \ --cc=kbusch@kernel.org \ --cc=linux-block@vger.kernel.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-nvme@lists.infradead.org \ --cc=maxg@mellanox.com \ --cc=sagi@grimberg.me \ --cc=sbates@raithlin.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: 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.