linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] nvme: Add ctrl attributes for queue_count and sqsize
@ 2019-09-26  0:20 James Smart
  2019-09-26  0:28 ` Sagi Grimberg
  2019-09-26  4:18 ` James Smart
  0 siblings, 2 replies; 4+ messages in thread
From: James Smart @ 2019-09-26  0:20 UTC (permalink / raw)
  To: linux-nvme; +Cc: James Smart

Current controller interrogation requires a lot of guesswork
on how many io queues were created and what the io sq size is.
The numbers are dependent upon core/fabric defaults, connect
arguments, and target responses.

Add sysfs attributes for queue_count and sqsize.

Signed-off-by: James Smart <jsmart2021@gmail.com>

---
v2:
  Updated is_visible to not show sqsize attribute on pcie controllers
---
 drivers/nvme/host/core.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index e0e2dcbfd05e..d3c85c6d9230 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -3040,6 +3040,8 @@ static DEVICE_ATTR(field, S_IRUGO, field##_show, NULL);
 
 nvme_show_int_function(cntlid);
 nvme_show_int_function(numa_node);
+nvme_show_int_function(queue_count);
+nvme_show_int_function(sqsize);
 
 static ssize_t nvme_sysfs_delete(struct device *dev,
 				struct device_attribute *attr, const char *buf,
@@ -3120,6 +3122,8 @@ static struct attribute *nvme_dev_attrs[] = {
 	&dev_attr_address.attr,
 	&dev_attr_state.attr,
 	&dev_attr_numa_node.attr,
+	&dev_attr_queue_count.attr,
+	&dev_attr_sqsize.attr,
 	NULL
 };
 
@@ -3133,6 +3137,8 @@ static umode_t nvme_dev_attrs_are_visible(struct kobject *kobj,
 		return 0;
 	if (a == &dev_attr_address.attr && !ctrl->ops->get_address)
 		return 0;
+	if (!strncmp(ctrl->ops->name, "pcie", 4) && a == &dev_attr_sqsize.attr)
+		return 0;
 
 	return a->mode;
 }
-- 
2.13.7


_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] nvme: Add ctrl attributes for queue_count and sqsize
  2019-09-26  0:20 [PATCH v2] nvme: Add ctrl attributes for queue_count and sqsize James Smart
@ 2019-09-26  0:28 ` Sagi Grimberg
  2019-09-26  3:28   ` Keith Busch
  2019-09-26  4:18 ` James Smart
  1 sibling, 1 reply; 4+ messages in thread
From: Sagi Grimberg @ 2019-09-26  0:28 UTC (permalink / raw)
  To: James Smart, linux-nvme


> v2:
>    Updated is_visible to not show sqsize attribute on pcie controllers

Why? isn't sqsize assigned for pci controllers as well?

_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] nvme: Add ctrl attributes for queue_count and sqsize
  2019-09-26  0:28 ` Sagi Grimberg
@ 2019-09-26  3:28   ` Keith Busch
  0 siblings, 0 replies; 4+ messages in thread
From: Keith Busch @ 2019-09-26  3:28 UTC (permalink / raw)
  To: Sagi Grimberg; +Cc: James Smart, linux-nvme

On Wed, Sep 25, 2019 at 05:28:49PM -0700, Sagi Grimberg wrote:
> 
> > v2:
> >    Updated is_visible to not show sqsize attribute on pcie controllers
> 
> Why? isn't sqsize assigned for pci controllers as well?

I only noticed this comment in the 'struct nvme_ctrl' definition:

        /* Fabrics only */
        u16 sqsize;

But since it's been questioned, I see pcie does indeed set this field, and the
code comment was the only source of confusion. So sure, the original patch is
fine in that sense.

_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] nvme: Add ctrl attributes for queue_count and sqsize
  2019-09-26  0:20 [PATCH v2] nvme: Add ctrl attributes for queue_count and sqsize James Smart
  2019-09-26  0:28 ` Sagi Grimberg
@ 2019-09-26  4:18 ` James Smart
  1 sibling, 0 replies; 4+ messages in thread
From: James Smart @ 2019-09-26  4:18 UTC (permalink / raw)
  To: linux-nvme



> On Sep 25, 2019, at 5:20 PM, James Smart <jsmart2021@gmail.com> wrote:
> 
> Current controller interrogation requires a lot of guesswork
> on how many io queues were created and what the io sq size is.
> The numbers are dependent upon core/fabric defaults, connect
> arguments, and target responses.
> 
> Add sysfs attributes for queue_count and sqsize.
> 
> Signed-off-by: James Smart <jsmart2021@gmail.com>
> 
> ---
> v2:
>  Updated is_visible to not show sqsize attribute on pcie controllers
> ---
> drivers/nvme/host/core.c | 6 ++++++
> 1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
> index e0e2dcbfd05e..d3c85c6d9230 100644
> --- a/drivers/nvme/host/core.c
> +++ b/drivers/nvme/host/core.c
> @@ -3040,6 +3040,8 @@ static DEVICE_ATTR(field, S_IRUGO, field##_show, NULL);
> 
> nvme_show_int_function(cntlid);
> nvme_show_int_function(numa_node);
> +nvme_show_int_function(queue_count);
> +nvme_show_int_function(sqsize);
> 
> static ssize_t nvme_sysfs_delete(struct device *dev,
> 				struct device_attribute *attr, const char *buf,
> @@ -3120,6 +3122,8 @@ static struct attribute *nvme_dev_attrs[] = {
> 	&dev_attr_address.attr,
> 	&dev_attr_state.attr,
> 	&dev_attr_numa_node.attr,
> +	&dev_attr_queue_count.attr,
> +	&dev_attr_sqsize.attr,
> 	NULL
> };
> 
> @@ -3133,6 +3137,8 @@ static umode_t nvme_dev_attrs_are_visible(struct kobject *kobj,
> 		return 0;
> 	if (a == &dev_attr_address.attr && !ctrl->ops->get_address)
> 		return 0;
> +	if (!strncmp(ctrl->ops->name, "pcie", 4) && a == &dev_attr_sqsize.attr)
> +		return 0;
> 
> 	return a->mode;
> }
> -- 
> 2.13.7
> 

Ok scratch the v2 - original patch was fine.

Thanks

— james


_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-09-26  4:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-26  0:20 [PATCH v2] nvme: Add ctrl attributes for queue_count and sqsize James Smart
2019-09-26  0:28 ` Sagi Grimberg
2019-09-26  3:28   ` Keith Busch
2019-09-26  4:18 ` James Smart

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).