Thread (38 messages) 38 messages, 5 authors, 2021-06-14

Re: [PATCH rdma-next v1 14/15] RDMA/core: Allow port_groups to be used with namespaces

From: Leon Romanovsky <leon@kernel.org>
Date: 2021-06-08 06:57:44
Also in: lkml

On Tue, Jun 08, 2021 at 05:32:56AM +0000, Parav Pandit wrote:
quoted
From: Leon Romanovsky <leon@kernel.org>
Sent: Tuesday, June 8, 2021 10:25 AM

On Mon, Jun 07, 2021 at 01:29:58PM +0000, Parav Pandit wrote:
quoted
quoted
From: Leon Romanovsky <leon@kernel.org>
Sent: Monday, June 7, 2021 1:48 PM

From: Jason Gunthorpe <jgg@nvidia.com>

Now that the port_groups data is being destroyed and managed by the
core code this restriction is no longer needed. All the
ib_port_attrs are compatible with the core's sysfs lifecycle.

Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
 drivers/infiniband/core/device.c | 10 ++++------
drivers/infiniband/core/sysfs.c  | 17 ++++++-----------
 2 files changed, 10 insertions(+), 17 deletions(-)
<...>
quoted
quoted
diff --git a/drivers/infiniband/core/sysfs.c
b/drivers/infiniband/core/sysfs.c index 09a2e1066df0..f42034fcf3d9
100644
--- a/drivers/infiniband/core/sysfs.c
+++ b/drivers/infiniband/core/sysfs.c
@@ -1236,11 +1236,9 @@ static struct ib_port *setup_port(struct
ib_core_device *coredev, int port_num,
 	ret = sysfs_create_groups(&p->kobj, p->groups_list);
 	if (ret)
 		goto err_del;
-	if (is_full_dev) {
-		ret = sysfs_create_groups(&p->kobj, device-
quoted
ops.port_groups);
-		if (ret)
-			goto err_groups;
-	}
+	ret = sysfs_create_groups(&p->kobj, device->ops.port_groups);
+	if (ret)
+		goto err_groups;
This will expose counters in all net namespaces in shared mode (default
case).
quoted
Application running in one net namespace will be able to monitor counters
of other net namespace.
quoted
This should be avoided.
In shared mode, we are sharing sysfs anyway and have two options to deal
with the port properties (counters):
1. Show them in all namespaces as being global to port which is shared
anyway.
2. Show them in init_net namespace only and applications that were left in
this namespace will see not their counters anyway.

Why should we avoid "item 1"?
Because it is incorrect to show port counters updated by application running in net ns 1, to show to application running in net ns 2.
Once/if there is per netns counters exist, than those counters can be shown using more modern rdma stats command.
ok, I see your point and have no strong position about it.

Thanks
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help