All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Williams <dan.j.williams@intel.com>
To: axboe@kernel.dk, linux-nvdimm@lists.01.org
Cc: boaz@plexistor.com, toshi.kani@hp.com,
	Vishal Verma <vishal.l.verma@linux.intel.com>,
	linux-kernel@vger.kernel.org, hch@lst.de,
	linux-acpi@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	mingo@kernel.org
Subject: [PATCH 10/15] libnvdimm: fix up max_hw_sectors
Date: Wed, 17 Jun 2015 19:55:41 -0400	[thread overview]
Message-ID: <20150617235541.12943.86562.stgit@dwillia2-desk3.amr.corp.intel.com> (raw)
In-Reply-To: <20150617235209.12943.24419.stgit@dwillia2-desk3.amr.corp.intel.com>

There is no hardware limit to enforce on the size of the i/o that can be
passed to nd block device, so set it to UINT_MAX.  Do this centrally for
all nd block devices in nd_blk_queue_init();

Reviewed-by: Vishal Verma <vishal.l.verma@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
 drivers/nvdimm/blk.c  |    3 +--
 drivers/nvdimm/btt.c  |    3 +--
 drivers/nvdimm/core.c |    7 +++++++
 drivers/nvdimm/nd.h   |    1 +
 drivers/nvdimm/pmem.c |    3 +--
 5 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/drivers/nvdimm/blk.c b/drivers/nvdimm/blk.c
index feddad325f97..8a6345797a71 100644
--- a/drivers/nvdimm/blk.c
+++ b/drivers/nvdimm/blk.c
@@ -272,9 +272,8 @@ static int nd_blk_probe(struct device *dev)
 	}
 
 	blk_queue_make_request(blk_dev->queue, nd_blk_make_request);
-	blk_queue_max_hw_sectors(blk_dev->queue, 1024);
-	blk_queue_bounce_limit(blk_dev->queue, BLK_BOUNCE_ANY);
 	blk_queue_logical_block_size(blk_dev->queue, blk_dev->sector_size);
+	nd_blk_queue_init(blk_dev->queue);
 
 	disk = blk_dev->disk = alloc_disk(0);
 	if (!disk) {
diff --git a/drivers/nvdimm/btt.c b/drivers/nvdimm/btt.c
index c337b7abfb43..380e01cedd24 100644
--- a/drivers/nvdimm/btt.c
+++ b/drivers/nvdimm/btt.c
@@ -1285,9 +1285,8 @@ static int btt_blk_init(struct btt *btt)
 	btt->btt_disk->flags = GENHD_FL_EXT_DEVT;
 
 	blk_queue_make_request(btt->btt_queue, btt_make_request);
-	blk_queue_max_hw_sectors(btt->btt_queue, 1024);
-	blk_queue_bounce_limit(btt->btt_queue, BLK_BOUNCE_ANY);
 	blk_queue_logical_block_size(btt->btt_queue, btt->sector_size);
+	nd_blk_queue_init(btt->btt_queue);
 	btt->btt_queue->queuedata = btt;
 
 	set_capacity(btt->btt_disk, 0);
diff --git a/drivers/nvdimm/core.c b/drivers/nvdimm/core.c
index 8f466c384b30..d27b13357873 100644
--- a/drivers/nvdimm/core.c
+++ b/drivers/nvdimm/core.c
@@ -214,6 +214,13 @@ ssize_t nd_sector_size_store(struct device *dev, const char *buf,
 	}
 }
 
+void nd_blk_queue_init(struct request_queue *q)
+{
+	blk_queue_max_hw_sectors(q, UINT_MAX);
+	blk_queue_bounce_limit(q, BLK_BOUNCE_ANY);
+}
+EXPORT_SYMBOL(nd_blk_queue_init);
+
 static ssize_t commands_show(struct device *dev,
 		struct device_attribute *attr, char *buf)
 {
diff --git a/drivers/nvdimm/nd.h b/drivers/nvdimm/nd.h
index 9b5fdb2215b1..2f20d5dca028 100644
--- a/drivers/nvdimm/nd.h
+++ b/drivers/nvdimm/nd.h
@@ -171,5 +171,6 @@ struct resource *nvdimm_allocate_dpa(struct nvdimm_drvdata *ndd,
 		struct nd_label_id *label_id, resource_size_t start,
 		resource_size_t n);
 int nd_blk_region_init(struct nd_region *nd_region);
+void nd_blk_queue_init(struct request_queue *q);
 resource_size_t nd_namespace_blk_validate(struct nd_namespace_blk *nsblk);
 #endif /* __ND_H__ */
diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c
index 1f4767150975..b825a2201aa8 100644
--- a/drivers/nvdimm/pmem.c
+++ b/drivers/nvdimm/pmem.c
@@ -172,8 +172,7 @@ static struct pmem_device *pmem_alloc(struct device *dev,
 		goto out_unmap;
 
 	blk_queue_make_request(pmem->pmem_queue, pmem_make_request);
-	blk_queue_max_hw_sectors(pmem->pmem_queue, 1024);
-	blk_queue_bounce_limit(pmem->pmem_queue, BLK_BOUNCE_ANY);
+	nd_blk_queue_init(pmem->pmem_queue);
 
 	disk = alloc_disk(0);
 	if (!disk)


WARNING: multiple messages have this Message-ID (diff)
From: Dan Williams <dan.j.williams@intel.com>
To: axboe@kernel.dk, linux-nvdimm@ml01.01.org
Cc: boaz@plexistor.com, toshi.kani@hp.com,
	Vishal Verma <vishal.l.verma@linux.intel.com>,
	linux-kernel@vger.kernel.org, hch@lst.de,
	linux-acpi@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	mingo@kernel.org
Subject: [PATCH 10/15] libnvdimm: fix up max_hw_sectors
Date: Wed, 17 Jun 2015 19:55:41 -0400	[thread overview]
Message-ID: <20150617235541.12943.86562.stgit@dwillia2-desk3.amr.corp.intel.com> (raw)
In-Reply-To: <20150617235209.12943.24419.stgit@dwillia2-desk3.amr.corp.intel.com>

There is no hardware limit to enforce on the size of the i/o that can be
passed to nd block device, so set it to UINT_MAX.  Do this centrally for
all nd block devices in nd_blk_queue_init();

Reviewed-by: Vishal Verma <vishal.l.verma@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
 drivers/nvdimm/blk.c  |    3 +--
 drivers/nvdimm/btt.c  |    3 +--
 drivers/nvdimm/core.c |    7 +++++++
 drivers/nvdimm/nd.h   |    1 +
 drivers/nvdimm/pmem.c |    3 +--
 5 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/drivers/nvdimm/blk.c b/drivers/nvdimm/blk.c
index feddad325f97..8a6345797a71 100644
--- a/drivers/nvdimm/blk.c
+++ b/drivers/nvdimm/blk.c
@@ -272,9 +272,8 @@ static int nd_blk_probe(struct device *dev)
 	}
 
 	blk_queue_make_request(blk_dev->queue, nd_blk_make_request);
-	blk_queue_max_hw_sectors(blk_dev->queue, 1024);
-	blk_queue_bounce_limit(blk_dev->queue, BLK_BOUNCE_ANY);
 	blk_queue_logical_block_size(blk_dev->queue, blk_dev->sector_size);
+	nd_blk_queue_init(blk_dev->queue);
 
 	disk = blk_dev->disk = alloc_disk(0);
 	if (!disk) {
diff --git a/drivers/nvdimm/btt.c b/drivers/nvdimm/btt.c
index c337b7abfb43..380e01cedd24 100644
--- a/drivers/nvdimm/btt.c
+++ b/drivers/nvdimm/btt.c
@@ -1285,9 +1285,8 @@ static int btt_blk_init(struct btt *btt)
 	btt->btt_disk->flags = GENHD_FL_EXT_DEVT;
 
 	blk_queue_make_request(btt->btt_queue, btt_make_request);
-	blk_queue_max_hw_sectors(btt->btt_queue, 1024);
-	blk_queue_bounce_limit(btt->btt_queue, BLK_BOUNCE_ANY);
 	blk_queue_logical_block_size(btt->btt_queue, btt->sector_size);
+	nd_blk_queue_init(btt->btt_queue);
 	btt->btt_queue->queuedata = btt;
 
 	set_capacity(btt->btt_disk, 0);
diff --git a/drivers/nvdimm/core.c b/drivers/nvdimm/core.c
index 8f466c384b30..d27b13357873 100644
--- a/drivers/nvdimm/core.c
+++ b/drivers/nvdimm/core.c
@@ -214,6 +214,13 @@ ssize_t nd_sector_size_store(struct device *dev, const char *buf,
 	}
 }
 
+void nd_blk_queue_init(struct request_queue *q)
+{
+	blk_queue_max_hw_sectors(q, UINT_MAX);
+	blk_queue_bounce_limit(q, BLK_BOUNCE_ANY);
+}
+EXPORT_SYMBOL(nd_blk_queue_init);
+
 static ssize_t commands_show(struct device *dev,
 		struct device_attribute *attr, char *buf)
 {
diff --git a/drivers/nvdimm/nd.h b/drivers/nvdimm/nd.h
index 9b5fdb2215b1..2f20d5dca028 100644
--- a/drivers/nvdimm/nd.h
+++ b/drivers/nvdimm/nd.h
@@ -171,5 +171,6 @@ struct resource *nvdimm_allocate_dpa(struct nvdimm_drvdata *ndd,
 		struct nd_label_id *label_id, resource_size_t start,
 		resource_size_t n);
 int nd_blk_region_init(struct nd_region *nd_region);
+void nd_blk_queue_init(struct request_queue *q);
 resource_size_t nd_namespace_blk_validate(struct nd_namespace_blk *nsblk);
 #endif /* __ND_H__ */
diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c
index 1f4767150975..b825a2201aa8 100644
--- a/drivers/nvdimm/pmem.c
+++ b/drivers/nvdimm/pmem.c
@@ -172,8 +172,7 @@ static struct pmem_device *pmem_alloc(struct device *dev,
 		goto out_unmap;
 
 	blk_queue_make_request(pmem->pmem_queue, pmem_make_request);
-	blk_queue_max_hw_sectors(pmem->pmem_queue, 1024);
-	blk_queue_bounce_limit(pmem->pmem_queue, BLK_BOUNCE_ANY);
+	nd_blk_queue_init(pmem->pmem_queue);
 
 	disk = alloc_disk(0);
 	if (!disk)


  parent reply	other threads:[~2015-06-17 23:55 UTC|newest]

Thread overview: 164+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-17 23:54 [PATCH 00/15] libnvdimm: ->rw_bytes(), BLK-mode, unit tests, and misc features Dan Williams
2015-06-17 23:54 ` Dan Williams
2015-06-17 23:54 ` [PATCH 01/15] block: introduce an ->rw_bytes() block device operation Dan Williams
2015-06-17 23:54   ` Dan Williams
2015-06-18 19:25   ` Dan Williams
2015-06-18 19:25     ` Dan Williams
2015-06-17 23:54 ` [PATCH 02/15] libnvdimm: infrastructure for btt devices Dan Williams
2015-06-17 23:54   ` Dan Williams
2015-06-22 16:34   ` Christoph Hellwig
2015-06-22 16:34     ` Christoph Hellwig
2015-06-22 16:48     ` Dan Williams
2015-06-22 16:48       ` Dan Williams
2015-06-22 16:48       ` Christoph Hellwig
2015-06-22 16:48         ` Christoph Hellwig
2015-06-22 16:48         ` Christoph Hellwig
2015-06-22 18:32         ` Jeff Moyer
2015-06-22 18:32           ` Jeff Moyer
2015-06-22 18:32           ` Jeff Moyer
2015-06-22 19:02           ` Dan Williams
2015-06-22 19:02             ` Dan Williams
2015-06-22 19:02             ` Dan Williams
2015-06-22 19:09             ` Jeff Moyer
2015-06-22 19:09               ` Jeff Moyer
2015-06-22 19:09               ` Jeff Moyer
2015-06-23 10:20               ` Christoph Hellwig
2015-06-23 10:19             ` Christoph Hellwig
2015-06-23 15:19               ` Dan Williams
2015-06-23 20:33                 ` Dan Williams
2015-06-24 12:10                 ` Christoph Hellwig
2015-06-23 10:10           ` Christoph Hellwig
2015-06-17 23:55 ` [PATCH 03/15] nd_btt: atomic sector updates Dan Williams
2015-06-17 23:55   ` Dan Williams
2015-06-21 10:03   ` Christoph Hellwig
2015-06-21 10:03     ` Christoph Hellwig
2015-06-21 10:03     ` Christoph Hellwig
2015-06-21 16:31     ` Dan Williams
2015-06-21 16:31       ` Dan Williams
2015-06-17 23:55 ` [PATCH 04/15] libnvdimm, nfit, nd_blk: driver for BLK-mode access persistent memory Dan Williams
2015-06-17 23:55   ` Dan Williams
2015-06-21 10:05   ` Christoph Hellwig
2015-06-21 10:05     ` Christoph Hellwig
2015-06-21 10:05     ` Christoph Hellwig
2015-06-21 13:31     ` Dan Williams
2015-06-21 13:31       ` Dan Williams
2015-06-21 13:56       ` Christoph Hellwig
2015-06-21 13:56         ` Christoph Hellwig
2015-06-21 13:56         ` Christoph Hellwig
2015-06-21 14:39         ` Dan Williams
2015-06-21 14:39           ` Dan Williams
2015-06-21 14:39           ` Dan Williams
2015-06-17 23:55 ` [PATCH 05/15] tools/testing/nvdimm: libnvdimm unit test infrastructure Dan Williams
2015-06-17 23:55   ` Dan Williams
2015-06-17 23:55 ` [PATCH 06/15] libnvdimm: Non-Volatile Devices Dan Williams
2015-06-17 23:55   ` Dan Williams
2015-06-17 23:55 ` [PATCH 07/15] fs/block_dev.c: skip rw_page if bdev has integrity Dan Williams
2015-06-17 23:55   ` Dan Williams
2015-06-17 23:55 ` [PATCH 08/15] libnvdimm, btt: add support for blk integrity Dan Williams
2015-06-17 23:55   ` Dan Williams
2015-06-17 23:55 ` [PATCH 09/15] libnvdimm, blk: " Dan Williams
2015-06-17 23:55   ` Dan Williams
2015-06-17 23:55 ` Dan Williams [this message]
2015-06-17 23:55   ` [PATCH 10/15] libnvdimm: fix up max_hw_sectors Dan Williams
2015-06-21 10:08   ` Christoph Hellwig
2015-06-21 10:08     ` Christoph Hellwig
2015-06-21 10:08     ` Christoph Hellwig
2015-06-21 13:28     ` Dan Williams
2015-06-21 13:28       ` Dan Williams
2015-06-17 23:55 ` [PATCH 11/15] libnvdimm: pmem, blk, and btt make_request cleanups Dan Williams
2015-06-17 23:55   ` Dan Williams
2015-06-21 10:10   ` Christoph Hellwig
2015-06-21 10:10     ` Christoph Hellwig
2015-06-21 13:26     ` Dan Williams
2015-06-21 13:26       ` Dan Williams
2015-06-21 13:26       ` Dan Williams
2015-06-17 23:55 ` [PATCH 12/15] libnvdimm: enable iostat Dan Williams
2015-06-17 23:55   ` Dan Williams
2015-06-19  8:34   ` Christoph Hellwig
2015-06-19  8:34     ` Christoph Hellwig
2015-06-19  9:02     ` Dan Williams
2015-06-19  9:02       ` Dan Williams
2015-06-21 10:11       ` Christoph Hellwig
2015-06-21 10:11         ` Christoph Hellwig
2015-06-21 13:22         ` Dan Williams
2015-06-21 13:22           ` Dan Williams
2015-06-21 13:22           ` Dan Williams
2015-06-17 23:55 ` [PATCH 13/15] libnvdimm: flag libnvdimm block devices as non-rotational Dan Williams
2015-06-17 23:55   ` Dan Williams
2015-06-17 23:56 ` [PATCH 14/15] libnvdimm: support read-only btt backing devices Dan Williams
2015-06-17 23:56   ` Dan Williams
2015-06-18 22:55   ` Vishal Verma
2015-06-18 22:55     ` Vishal Verma
2015-06-21 10:13   ` Christoph Hellwig
2015-06-21 10:13     ` Christoph Hellwig
2015-06-21 13:21     ` Dan Williams
2015-06-21 13:21       ` Dan Williams
2015-06-21 13:21       ` Dan Williams
2015-06-21 13:54       ` Christoph Hellwig
2015-06-21 13:54         ` Christoph Hellwig
2015-06-21 13:54         ` Christoph Hellwig
2015-06-21 15:11         ` Dan Williams
2015-06-21 15:11           ` Dan Williams
2015-06-22  6:30           ` Christoph Hellwig
2015-06-22  6:30             ` Christoph Hellwig
2015-06-22  6:30             ` Christoph Hellwig
2015-06-22  7:17             ` Dan Williams
2015-06-22  7:17               ` Dan Williams
2015-06-22  7:17               ` Dan Williams
2015-06-22  7:28               ` Christoph Hellwig
2015-06-22  7:28                 ` Christoph Hellwig
2015-06-22  7:28                 ` Christoph Hellwig
2015-06-22  7:39                 ` Dan Williams
2015-06-22  7:39                   ` Dan Williams
2015-06-22  7:39                   ` Dan Williams
2015-06-22 15:02                   ` Jeff Moyer
2015-06-22 15:02                     ` Jeff Moyer
2015-06-22 15:02                     ` Jeff Moyer
2015-06-22 15:41                     ` Christoph Hellwig
2015-06-22 15:41                       ` Christoph Hellwig
2015-06-22 15:41                       ` Christoph Hellwig
2015-06-22 16:00                       ` Jeff Moyer
2015-06-22 16:00                         ` Jeff Moyer
2015-06-22 16:00                         ` Jeff Moyer
2015-06-22 16:32                         ` Christoph Hellwig
2015-06-22 16:32                           ` Christoph Hellwig
2015-06-22 16:32                           ` Christoph Hellwig
2015-06-22 16:42                           ` Jeff Moyer
2015-06-22 16:42                             ` Jeff Moyer
2015-06-22 16:42                             ` Jeff Moyer
2015-06-22 16:48                             ` Christoph Hellwig
2015-06-22 16:48                               ` Christoph Hellwig
2015-06-22 16:48                               ` Christoph Hellwig
2015-06-22 18:48                               ` Jeff Moyer
2015-06-22 18:48                                 ` Jeff Moyer
2015-06-22 18:48                                 ` Jeff Moyer
2015-06-22 19:04                                 ` Dan Williams
2015-06-22 19:04                                   ` Dan Williams
2015-06-22 19:11                                   ` Jeff Moyer
2015-06-22 19:11                                     ` Jeff Moyer
2015-06-22 19:11                                     ` Jeff Moyer
2015-06-23 10:10                                 ` Christoph Hellwig
2015-06-23 10:10                                   ` Christoph Hellwig
2015-06-22 15:40                   ` Christoph Hellwig
2015-06-22 15:40                     ` Christoph Hellwig
2015-06-22 15:40                     ` Christoph Hellwig
2015-06-22 16:36                     ` Dan Williams
2015-06-22 16:36                       ` Dan Williams
2015-06-22 16:36                       ` Dan Williams
2015-06-22 16:45                       ` Christoph Hellwig
2015-06-22 16:45                         ` Christoph Hellwig
2015-06-22 16:45                         ` Christoph Hellwig
2015-06-22 16:54                         ` Dan Williams
2015-06-22 16:54                           ` Dan Williams
2015-06-22 16:54                           ` Dan Williams
2015-06-22 16:57                           ` Christoph Hellwig
2015-06-22 16:57                             ` Christoph Hellwig
2015-06-22 16:59                             ` Dan Williams
2015-06-22 16:59                               ` Dan Williams
2015-06-22 16:59                               ` Dan Williams
2015-06-23 19:30             ` Matthew Wilcox
2015-06-23 19:30               ` Matthew Wilcox
2015-06-24 12:11               ` Christoph Hellwig
2015-06-24 12:11                 ` Christoph Hellwig
2015-06-17 23:56 ` [PATCH 15/15] libnvdimm, nfit: handle acpi_nfit_memory_map flags Dan Williams
2015-06-17 23:56   ` Dan Williams

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=20150617235541.12943.86562.stgit@dwillia2-desk3.amr.corp.intel.com \
    --to=dan.j.williams@intel.com \
    --cc=axboe@kernel.dk \
    --cc=boaz@plexistor.com \
    --cc=hch@lst.de \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=mingo@kernel.org \
    --cc=toshi.kani@hp.com \
    --cc=vishal.l.verma@linux.intel.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.