From: Christoph Lameter <cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
To: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Jason Gunthorpe
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Subject: [PATCH 1/3] IB core: Allow specification of attr_id in PORT_PMA_ATTR macro
Date: Fri, 11 Dec 2015 12:25:33 -0600 [thread overview]
Message-ID: <20151211182543.135984387@linux.com> (raw)
In-Reply-To: 20151211182532.332343651@linux.com
[-- Attachment #1: 0001-IB-core-Allow-specification-of-attr_id-in-PORT_PMA_A.patch --]
[-- Type: text/plain, Size: 4620 bytes --]
This is necessary to support the extended attributes which involves
a different attribute id.
Signed-off-by: Christoph Lameter <cl-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
---
drivers/infiniband/core/sysfs.c | 41 ++++++++++++++++++++++-------------------
1 file changed, 22 insertions(+), 19 deletions(-)
diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c
index b1f37d4..1c8716f 100644
--- a/drivers/infiniband/core/sysfs.c
+++ b/drivers/infiniband/core/sysfs.c
@@ -39,6 +39,7 @@
#include <linux/string.h>
#include <rdma/ib_mad.h>
+#include <rdma/ib_pma.h>
struct ib_port {
struct kobject kobj;
@@ -65,6 +66,7 @@ struct port_table_attribute {
struct port_attribute attr;
char name[8];
int index;
+ int attr_id;
};
static ssize_t port_attr_show(struct kobject *kobj,
@@ -311,10 +313,11 @@ static ssize_t show_port_pkey(struct ib_port *p, struct port_attribute *attr,
return sprintf(buf, "0x%04x\n", pkey);
}
-#define PORT_PMA_ATTR(_name, _counter, _width, _offset) \
+#define PORT_PMA_ATTR(_name, _counter, _width, _offset, _attr_id) \
struct port_table_attribute port_pma_attr_##_name = { \
.attr = __ATTR(_name, S_IRUGO, show_pma_counter, NULL), \
- .index = (_offset) | ((_width) << 16) | ((_counter) << 24) \
+ .index = (_offset) | ((_width) << 16) | ((_counter) << 24), \
+ .attr_id = _attr_id , \
}
static ssize_t show_pma_counter(struct ib_port *p, struct port_attribute *attr,
@@ -344,7 +347,7 @@ static ssize_t show_pma_counter(struct ib_port *p, struct port_attribute *attr,
in_mad->mad_hdr.mgmt_class = IB_MGMT_CLASS_PERF_MGMT;
in_mad->mad_hdr.class_version = 1;
in_mad->mad_hdr.method = IB_MGMT_METHOD_GET;
- in_mad->mad_hdr.attr_id = cpu_to_be16(0x12); /* PortCounters */
+ in_mad->mad_hdr.attr_id = tab_attr->attr_id;
in_mad->data[41] = p->port_num; /* PortSelect field */
@@ -386,22 +389,22 @@ out:
return ret;
}
-static PORT_PMA_ATTR(symbol_error , 0, 16, 32);
-static PORT_PMA_ATTR(link_error_recovery , 1, 8, 48);
-static PORT_PMA_ATTR(link_downed , 2, 8, 56);
-static PORT_PMA_ATTR(port_rcv_errors , 3, 16, 64);
-static PORT_PMA_ATTR(port_rcv_remote_physical_errors, 4, 16, 80);
-static PORT_PMA_ATTR(port_rcv_switch_relay_errors , 5, 16, 96);
-static PORT_PMA_ATTR(port_xmit_discards , 6, 16, 112);
-static PORT_PMA_ATTR(port_xmit_constraint_errors , 7, 8, 128);
-static PORT_PMA_ATTR(port_rcv_constraint_errors , 8, 8, 136);
-static PORT_PMA_ATTR(local_link_integrity_errors , 9, 4, 152);
-static PORT_PMA_ATTR(excessive_buffer_overrun_errors, 10, 4, 156);
-static PORT_PMA_ATTR(VL15_dropped , 11, 16, 176);
-static PORT_PMA_ATTR(port_xmit_data , 12, 32, 192);
-static PORT_PMA_ATTR(port_rcv_data , 13, 32, 224);
-static PORT_PMA_ATTR(port_xmit_packets , 14, 32, 256);
-static PORT_PMA_ATTR(port_rcv_packets , 15, 32, 288);
+static PORT_PMA_ATTR(symbol_error , 0, 16, 32, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(link_error_recovery , 1, 8, 48, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(link_downed , 2, 8, 56, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_rcv_errors , 3, 16, 64, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_rcv_remote_physical_errors, 4, 16, 80, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_rcv_switch_relay_errors , 5, 16, 96, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_xmit_discards , 6, 16, 112, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_xmit_constraint_errors , 7, 8, 128, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_rcv_constraint_errors , 8, 8, 136, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(local_link_integrity_errors , 9, 4, 152, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(excessive_buffer_overrun_errors, 10, 4, 156, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(VL15_dropped , 11, 16, 176, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_xmit_data , 12, 32, 192, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_rcv_data , 13, 32, 224, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_xmit_packets , 14, 32, 256, IB_PMA_PORT_COUNTERS);
+static PORT_PMA_ATTR(port_rcv_packets , 15, 32, 288, IB_PMA_PORT_COUNTERS);
static struct attribute *pma_attrs[] = {
&port_pma_attr_symbol_error.attr.attr,
--
2.5.0
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2015-12-11 18:25 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-11 18:25 [PATCH 0/3] IB 64 bit counter support Christoph Lameter
2015-12-11 18:25 ` Christoph Lameter [this message]
[not found] ` <20151211182543.135984387-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
2015-12-11 23:31 ` [PATCH 1/3] IB core: Allow specification of attr_id in PORT_PMA_ATTR macro ira.weiny
2015-12-11 18:25 ` [PATCH 2/3] IB core: Support 64 bit values in the port counters Christoph Lameter
[not found] ` <20151211182543.229518282-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
2015-12-11 23:33 ` ira.weiny
2015-12-11 18:25 ` [PATCH 3/3] IB core: Display 64 bit counters from the extended set Christoph Lameter
[not found] ` <20151211182543.329283794-vYTEC60ixJUAvxtiuMwx3w@public.gmane.org>
2015-12-11 23:56 ` ira.weiny
[not found] ` <20151211235630.GG7855-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-12-12 0:00 ` Jason Gunthorpe
[not found] ` <20151212000047.GA9961-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-12 0:23 ` ira.weiny
[not found] ` <20151212002313.GH7855-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-12-12 0:47 ` Jason Gunthorpe
[not found] ` <20151212004715.GA10790-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-12 1:15 ` ira.weiny
2015-12-14 16:29 ` Hal Rosenstock
[not found] ` <566EEE69.5080906-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-12-15 19:51 ` Christoph Lameter
[not found] ` <alpine.DEB.2.20.1512151351050.3509-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-12-15 19:55 ` Jason Gunthorpe
[not found] ` <20151215195554.GA28167-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-15 20:01 ` Hal Rosenstock
[not found] ` <5670717F.9090701-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-12-15 21:20 ` Jason Gunthorpe
[not found] ` <20151215212035.GD28167-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-12-15 21:42 ` Hal Rosenstock
[not found] ` <56708961.1040505-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-12-15 21:46 ` Doug Ledford
[not found] ` <56708A19.8030403-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-12-16 15:35 ` Christoph Lameter
2015-12-16 16:44 ` Doug Ledford
2015-12-16 16:22 ` Christoph Lameter
[not found] ` <alpine.DEB.2.20.1512161000150.17457-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-12-16 19:34 ` Christoph Lameter
[not found] ` <alpine.DEB.2.20.1512161332200.10147-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-12-17 17:44 ` Hal Rosenstock
[not found] ` <5672F47F.9060806-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-12-17 18:54 ` Christoph Lameter
[not found] ` <alpine.DEB.2.20.1512171252200.2954-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-12-17 19:14 ` Hal Rosenstock
[not found] ` <5673097D.8050906-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-12-17 19:21 ` Christoph Lameter
[not found] ` <alpine.DEB.2.20.1512171321110.8087-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-12-17 19:47 ` Hal Rosenstock
2015-12-14 17:36 ` Devesh Sharma
2015-12-14 14:03 ` Matan Barak
[not found] ` <CAAKD3BAT36BGP+21y9oz1E4EuURFuwiAHi558ho8y+k3GEy4Ww-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-14 14:55 ` Christoph Lameter
[not found] ` <alpine.DEB.2.20.1512140853510.25000-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-12-14 15:20 ` Matan Barak
[not found] ` <CAAKD3BC+DTMpza8WoshBS5SwzzWz-OMiR-KEegKAcrFYpCfqrg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-14 16:06 ` Christoph Lameter
[not found] ` <alpine.DEB.2.20.1512141005010.25235-wcBtFHqTun5QOdAKl3ChDw@public.gmane.org>
2015-12-20 10:10 ` Matan Barak
2015-12-20 10:37 ` Hal Rosenstock
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=20151211182543.135984387@linux.com \
--to=cl-vytec60ixjuavxtiumwx3w@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
/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 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).