[PATCHv2] nvme: Make CMB module parameter read-only
diff mbox

Message ID 1462204442-3368-1-git-send-email-jonathan.derrick@intel.com
State New
Headers show

Commit Message

Derrick, Jonathan May 2, 2016, 3:54 p.m. UTC
This patch changes the use_cmb_sqes module parameter to read-only. This
parameter allows the driver to place IO submission queues within the
Controller Memory Buffer. The parameter is currently writable through
sysfs at /sys/module/nvme/parameters/use_cmb_sqes.

Memory allocations for queues aren't dynamically reallocated between
resets. For this reason, allowing the use_cmb_sqes module parameter to
be written while the drive is loaded may be confusing because we have no
mechanism to dynamically remap the queues.

Signed-off-by: Jon Derrick <jonathan.derrick@intel.com>
---
v2: More thorough log message

 drivers/nvme/host/pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Christoph Hellwig May 3, 2016, 7:56 a.m. UTC | #1
On Mon, May 02, 2016 at 09:54:02AM -0600, Jon Derrick wrote:
> This patch changes the use_cmb_sqes module parameter to read-only. This
> parameter allows the driver to place IO submission queues within the
> Controller Memory Buffer. The parameter is currently writable through
> sysfs at /sys/module/nvme/parameters/use_cmb_sqes.
> 
> Memory allocations for queues aren't dynamically reallocated between
> resets. For this reason, allowing the use_cmb_sqes module parameter to
> be written while the drive is loaded may be confusing because we have no
> mechanism to dynamically remap the queues.

I agree, so:

Reviewed-by: Christoph Hellwig <hch@lst.de>

But re-reviewing this again I really hate the whole idea of the user
having to chose what to do with the CMB.  Can you just add a quirk
to do the right thing for the controller(s) you care about, and work
with the NVMe TWG to have a standardized way for the controllers to
give this information to the host?
--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 4fd733f..83de5569 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -61,7 +61,7 @@  static int use_threaded_interrupts;
 module_param(use_threaded_interrupts, int, 0);
 
 static bool use_cmb_sqes = true;
-module_param(use_cmb_sqes, bool, 0644);
+module_param(use_cmb_sqes, bool, 0444);
 MODULE_PARM_DESC(use_cmb_sqes, "use controller's memory buffer for I/O SQes");
 
 static struct workqueue_struct *nvme_workq;