linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Chaitanya Kulkarni <kch@nvidia.com>
To: <linux-block@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-omap@vger.kernel.org>, <linux-remoteproc@vger.kernel.org>,
	<linux-mmc@vger.kernel.org>, <linux-mtd@lists.infradead.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-nvme@lists.infradead.org>, <linux-s390@vger.kernel.org>,
	<linux-scsi@vger.kernel.org>
Cc: <axboe@kernel.dk>, <efremov@linux.com>, <josef@toxicpanda.com>,
	<idryomov@gmail.com>, <dongsheng.yang@easystack.cn>,
	<haris.iqbal@ionos.com>, <jinpu.wang@ionos.com>, <mst@redhat.com>,
	<jasowang@redhat.com>, <pbonzini@redhat.com>,
	<stefanha@redhat.com>, <ohad@wizery.com>, <andersson@kernel.org>,
	<baolin.wang@linux.alibaba.com>, <ulf.hansson@linaro.org>,
	<richard@nod.at>, <miquel.raynal@bootlin.com>, <vigneshr@ti.com>,
	<marcan@marcan.st>, <sven@svenpeter.dev>, <alyssa@rosenzweig.io>,
	<kbusch@kernel.org>, <hch@lst.de>, <sagi@grimberg.me>,
	<sth@linux.ibm.com>, <hoeppner@linux.ibm.com>,
	<hca@linux.ibm.com>, <gor@linux.ibm.com>,
	<agordeev@linux.ibm.com>, <borntraeger@linux.ibm.com>,
	<svens@linux.ibm.com>, <jejb@linux.ibm.com>,
	<martin.petersen@oracle.com>, <hare@suse.de>, <kch@nvidia.com>,
	<bhelgaas@google.com>, <john.garry@huawei.com>,
	<mcgrof@kernel.org>, <christophe.jaillet@wanadoo.fr>,
	<vaibhavgupta40@gmail.com>, <wsa+renesas@sang-engineering.com>,
	<damien.lemoal@opensource.wdc.com>, <johannes.thumshirn@wdc.com>,
	<bvanassche@acm.org>, <ming.lei@redhat.com>,
	<shinichiro.kawasaki@wdc.com>, <vincent.fu@samsung.com>,
	<christoph.boehmwalder@linbit.com>, <joel@jms.id.au>,
	<vincent.whitchurch@axis.com>, <nbd@other.debian.org>,
	<ceph-devel@vger.kernel.org>,
	<virtualization@lists.linux-foundation.org>,
	<asahi@lists.linux.dev>
Subject: [RFC PATCH 20/21] nvme-apple: use lib tagset init helper
Date: Tue, 4 Oct 2022 20:22:56 -0700	[thread overview]
Message-ID: <20221005032257.80681-21-kch@nvidia.com> (raw)
In-Reply-To: <20221005032257.80681-1-kch@nvidia.com>

Use the block layer helper to initialize the common fields of tag_set
such as blk_mq_ops, number of h/w queues, queue depth, command size,
numa_node, timeout, BLK_MQ_F_XXX flags, driver data. This initialization
is spread all over the block drivers. This avoids the code repetation of
the inialization code of the tag set in current block drivers and any
future ones.

Signed-off-by: Chaitanya Kulkarni <kch@nvidia.com>
---
 drivers/nvme/host/apple.c | 25 ++++++++-----------------
 1 file changed, 8 insertions(+), 17 deletions(-)

diff --git a/drivers/nvme/host/apple.c b/drivers/nvme/host/apple.c
index 5fc5ea196b40..bc95c3d93c57 100644
--- a/drivers/nvme/host/apple.c
+++ b/drivers/nvme/host/apple.c
@@ -1228,15 +1228,10 @@ static int apple_nvme_alloc_tagsets(struct apple_nvme *anv)
 {
 	int ret;
 
-	anv->admin_tagset.ops = &apple_nvme_mq_admin_ops;
-	anv->admin_tagset.nr_hw_queues = 1;
-	anv->admin_tagset.queue_depth = APPLE_NVME_AQ_MQ_TAG_DEPTH;
-	anv->admin_tagset.timeout = NVME_ADMIN_TIMEOUT;
-	anv->admin_tagset.numa_node = NUMA_NO_NODE;
-	anv->admin_tagset.cmd_size = sizeof(struct apple_nvme_iod);
-	anv->admin_tagset.flags = BLK_MQ_F_NO_SCHED;
-	anv->admin_tagset.driver_data = &anv->adminq;
-
+	blk_mq_init_tag_set(&anv->admin_tagset, &apple_nvme_mq_admin_ops, 1,
+			APPLE_NVME_AQ_MQ_TAG_DEPTH, sizeof(struct apple_nvme_iod),
+			NUMA_NO_NODE, NVME_ADMIN_TIMEOUT, BLK_MQ_F_NO_SCHED,
+			&anv->adminq);
 	ret = blk_mq_alloc_tag_set(&anv->admin_tagset);
 	if (ret)
 		return ret;
@@ -1245,8 +1240,6 @@ static int apple_nvme_alloc_tagsets(struct apple_nvme *anv)
 	if (ret)
 		return ret;
 
-	anv->tagset.ops = &apple_nvme_mq_ops;
-	anv->tagset.nr_hw_queues = 1;
 	anv->tagset.nr_maps = 1;
 	/*
 	 * Tags are used as an index to the NVMMU and must be unique across
@@ -1254,13 +1247,11 @@ static int apple_nvme_alloc_tagsets(struct apple_nvme *anv)
 	 * must be marked as reserved in the IO queue.
 	 */
 	anv->tagset.reserved_tags = APPLE_NVME_AQ_DEPTH;
-	anv->tagset.queue_depth = APPLE_ANS_MAX_QUEUE_DEPTH - 1;
-	anv->tagset.timeout = NVME_IO_TIMEOUT;
-	anv->tagset.numa_node = NUMA_NO_NODE;
-	anv->tagset.cmd_size = sizeof(struct apple_nvme_iod);
-	anv->tagset.flags = BLK_MQ_F_SHOULD_MERGE;
-	anv->tagset.driver_data = &anv->ioq;
 
+	blk_mq_init_tag_set(&anv->admin_tagset, &apple_nvme_mq_admin_ops, 1,
+			APPLE_ANS_MAX_QUEUE_DEPTH - 1, sizeof(struct apple_nvme_iod),
+			NUMA_NO_NODE, NVME_IO_TIMEOUT, BLK_MQ_F_SHOULD_MERGE,
+			&anv->ioq);
 	ret = blk_mq_alloc_tag_set(&anv->tagset);
 	if (ret)
 		return ret;
-- 
2.29.0



  parent reply	other threads:[~2022-10-05 16:12 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-05  3:22 [RFC PATCH 00/21] block: add and use init tagset helper Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 01/21] " Chaitanya Kulkarni
2022-10-05  5:11   ` Damien Le Moal
2022-10-05  9:47     ` Ulf Hansson
2022-10-05 16:54       ` Bart Van Assche
2022-10-05 17:22         ` Chaitanya Kulkarni
2022-10-06 18:13           ` Chaitanya Kulkarni
2022-10-06 18:40             ` Bart Van Assche
2022-10-07 19:40               ` Jens Axboe
2022-10-05  3:22 ` [RFC PATCH 02/21] loop: use lib tagset init helper Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 03/21] nbd: " Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 04/21] rnbd: " Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 05/21] bsg-lib: " Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 06/21] rnbd-clt: " Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 07/21] virtio-blk: " Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 08/21] scsi: " Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 09/21] block: " Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 10/21] amiflop: " Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 11/21] floppy: " Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 12/21] mtip32xx: " Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 13/21] z3ram: " Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 14/21] scm_blk: " Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 15/21] ubi: " Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 16/21] mmc: core: " Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 17/21] dasd: " Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 18/21] nvme-core: use lib tagset init helper for I/O q Chaitanya Kulkarni
2022-10-05  3:22 ` [RFC PATCH 19/21] nvme-core: use lib tagset init helper for adminq Chaitanya Kulkarni
2022-10-05  3:22 ` Chaitanya Kulkarni [this message]
2022-10-05  3:22 ` [RFC PATCH 21/21] nvme-pci: use lib tagset init helper Chaitanya Kulkarni
2022-10-07 18:26 ` [RFC PATCH 00/21] block: add and use init tagset helper Luis Chamberlain
2022-10-10  7:55   ` Christoph Hellwig

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=20221005032257.80681-21-kch@nvidia.com \
    --to=kch@nvidia.com \
    --cc=agordeev@linux.ibm.com \
    --cc=alyssa@rosenzweig.io \
    --cc=andersson@kernel.org \
    --cc=asahi@lists.linux.dev \
    --cc=axboe@kernel.dk \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=bhelgaas@google.com \
    --cc=borntraeger@linux.ibm.com \
    --cc=bvanassche@acm.org \
    --cc=ceph-devel@vger.kernel.org \
    --cc=christoph.boehmwalder@linbit.com \
    --cc=christophe.jaillet@wanadoo.fr \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=dongsheng.yang@easystack.cn \
    --cc=efremov@linux.com \
    --cc=gor@linux.ibm.com \
    --cc=hare@suse.de \
    --cc=haris.iqbal@ionos.com \
    --cc=hca@linux.ibm.com \
    --cc=hch@lst.de \
    --cc=hoeppner@linux.ibm.com \
    --cc=idryomov@gmail.com \
    --cc=jasowang@redhat.com \
    --cc=jejb@linux.ibm.com \
    --cc=jinpu.wang@ionos.com \
    --cc=joel@jms.id.au \
    --cc=johannes.thumshirn@wdc.com \
    --cc=john.garry@huawei.com \
    --cc=josef@toxicpanda.com \
    --cc=kbusch@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=marcan@marcan.st \
    --cc=martin.petersen@oracle.com \
    --cc=mcgrof@kernel.org \
    --cc=ming.lei@redhat.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=mst@redhat.com \
    --cc=nbd@other.debian.org \
    --cc=ohad@wizery.com \
    --cc=pbonzini@redhat.com \
    --cc=richard@nod.at \
    --cc=sagi@grimberg.me \
    --cc=shinichiro.kawasaki@wdc.com \
    --cc=stefanha@redhat.com \
    --cc=sth@linux.ibm.com \
    --cc=sven@svenpeter.dev \
    --cc=svens@linux.ibm.com \
    --cc=ulf.hansson@linaro.org \
    --cc=vaibhavgupta40@gmail.com \
    --cc=vigneshr@ti.com \
    --cc=vincent.fu@samsung.com \
    --cc=vincent.whitchurch@axis.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=wsa+renesas@sang-engineering.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).