* [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