From: Ming Lei <ming.lei@redhat.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: linux-block@vger.kernel.org, linux-nvme@lists.infradead.org,
Keith Busch <kbusch@kernel.org>, Christoph Hellwig <hch@lst.de>,
Ming Lei <ming.lei@redhat.com>,
James Smart <james.smart@broadcom.com>,
Sagi Grimberg <sagi@grimberg.me>
Subject: [PATCH RFC 1/3] block: reuse one scheduler/flush field for private request's data
Date: Fri, 15 Nov 2019 18:42:36 +0800 [thread overview]
Message-ID: <20191115104238.15107-2-ming.lei@redhat.com> (raw)
In-Reply-To: <20191115104238.15107-1-ming.lei@redhat.com>
Reuse one union shared by elevator and flush request for data of
private request. Private request won't enter IO scheduler and never
be a flush request, so reuse the space for data of private request.
This field is added to pass driver private info for private request
only.
Cc: James Smart <james.smart@broadcom.com>
Cc: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
---
include/linux/blkdev.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 6a4f7abbdcf7..ce708dc10bdc 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -177,7 +177,8 @@ struct request {
* Three pointers are available for the IO schedulers, if they need
* more they have to dynamically allocate it. Flush requests are
* never put on the IO scheduler. So let the flush fields share
- * space with the elevator data.
+ * space with the elevator data. Private request are never put on
+ * IO scheduler, and not be a flush request.
*/
union {
struct {
@@ -190,6 +191,9 @@ struct request {
struct list_head list;
rq_end_io_fn *saved_end_io;
} flush;
+
+ /* used for private request only */
+ unsigned long private_rq_data;
};
struct gendisk *rq_disk;
--
2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Ming Lei <ming.lei@redhat.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: Sagi Grimberg <sagi@grimberg.me>,
James Smart <james.smart@broadcom.com>,
linux-nvme@lists.infradead.org, Ming Lei <ming.lei@redhat.com>,
linux-block@vger.kernel.org, Keith Busch <kbusch@kernel.org>,
Christoph Hellwig <hch@lst.de>
Subject: [PATCH RFC 1/3] block: reuse one scheduler/flush field for private request's data
Date: Fri, 15 Nov 2019 18:42:36 +0800 [thread overview]
Message-ID: <20191115104238.15107-2-ming.lei@redhat.com> (raw)
In-Reply-To: <20191115104238.15107-1-ming.lei@redhat.com>
Reuse one union shared by elevator and flush request for data of
private request. Private request won't enter IO scheduler and never
be a flush request, so reuse the space for data of private request.
This field is added to pass driver private info for private request
only.
Cc: James Smart <james.smart@broadcom.com>
Cc: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
---
include/linux/blkdev.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 6a4f7abbdcf7..ce708dc10bdc 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -177,7 +177,8 @@ struct request {
* Three pointers are available for the IO schedulers, if they need
* more they have to dynamically allocate it. Flush requests are
* never put on the IO scheduler. So let the flush fields share
- * space with the elevator data.
+ * space with the elevator data. Private request are never put on
+ * IO scheduler, and not be a flush request.
*/
union {
struct {
@@ -190,6 +191,9 @@ struct request {
struct list_head list;
rq_end_io_fn *saved_end_io;
} flush;
+
+ /* used for private request only */
+ unsigned long private_rq_data;
};
struct gendisk *rq_disk;
--
2.20.1
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
next prev parent reply other threads:[~2019-11-15 10:43 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-15 10:42 [PATCH RFC 0/3] blk-mq/nvme: use blk_mq_alloc_request() for NVMe's connect request Ming Lei
2019-11-15 10:42 ` Ming Lei
2019-11-15 10:42 ` Ming Lei [this message]
2019-11-15 10:42 ` [PATCH RFC 1/3] block: reuse one scheduler/flush field for private request's data Ming Lei
2019-11-15 10:42 ` [PATCH RFC 2/3] nvme: don't use blk_mq_alloc_request_hctx() for allocating connect request Ming Lei
2019-11-15 10:42 ` Ming Lei
2019-11-15 10:42 ` [PATCH RFC 3/3] blk-mq: kill blk_mq_alloc_request_hctx() Ming Lei
2019-11-15 10:42 ` Ming Lei
2019-11-15 22:38 ` [PATCH RFC 0/3] blk-mq/nvme: use blk_mq_alloc_request() for NVMe's connect request Sagi Grimberg
2019-11-15 22:38 ` Sagi Grimberg
2019-11-16 7:17 ` Ming Lei
2019-11-16 7:17 ` Ming Lei
2019-11-17 1:24 ` Bart Van Assche
2019-11-17 1:24 ` Bart Van Assche
2019-11-17 4:12 ` Ming Lei
2019-11-17 4:12 ` Ming Lei
2019-11-18 23:27 ` Bart Van Assche
2019-11-18 23:27 ` Bart Van Assche
2019-11-19 0:05 ` Sagi Grimberg
2019-11-19 0:05 ` Sagi Grimberg
2019-11-19 0:34 ` Keith Busch
2019-11-19 0:34 ` Keith Busch
2019-11-19 1:43 ` Sagi Grimberg
2019-11-19 1:43 ` Sagi Grimberg
2019-11-19 2:38 ` Ming Lei
2019-11-19 2:38 ` Ming Lei
2019-11-19 2:33 ` Ming Lei
2019-11-19 2:33 ` Ming Lei
2019-11-19 17:56 ` James Smart
2019-11-19 17:56 ` James Smart
2019-11-20 6:35 ` Ming Lei
2019-11-20 6:35 ` 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=20191115104238.15107-2-ming.lei@redhat.com \
--to=ming.lei@redhat.com \
--cc=axboe@kernel.dk \
--cc=hch@lst.de \
--cc=james.smart@broadcom.com \
--cc=kbusch@kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=sagi@grimberg.me \
/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.