From: Ira Weiny <[email protected]> Date: Thu, 12 May 2011 17:31:15 -0700 Subject: [PATCH 1/2] infiniband-diags: perfquery; print cap_mask for information
Also fix cap_mask endianess in error print Signed-off-by: Ira Weiny <[email protected]> --- src/perfquery.c | 32 +++++++++++++++++++------------- 1 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/perfquery.c b/src/perfquery.c index d24c3c7..165c419 100644 --- a/src/perfquery.c +++ b/src/perfquery.c @@ -188,7 +188,8 @@ static void aggregate_perfcounters(void) aggregate_32bit(&perf_count.xmtwait, val); } -static void output_aggregate_perfcounters(ib_portid_t * portid) +static void output_aggregate_perfcounters(ib_portid_t * portid, + uint16_t cap_mask) { char buf[1024]; uint32_t val = ALL_PORTS; @@ -222,8 +223,8 @@ static void output_aggregate_perfcounters(ib_portid_t * portid) mad_dump_perfcounters(buf, sizeof buf, pc, sizeof pc); - printf("# Port counters: %s port %d\n%s", portid2str(portid), ALL_PORTS, - buf); + printf("# Port counters: %s port %d (CapMask: 0x%02X)\n%s", + portid2str(portid), ALL_PORTS, ntohs(cap_mask), buf); } static void aggregate_perfcounters_ext(void) @@ -253,7 +254,8 @@ static void aggregate_perfcounters_ext(void) aggregate_64bit(&perf_count_ext.portmulticastrcvpkts, val64); } -static void output_aggregate_perfcounters_ext(ib_portid_t * portid) +static void output_aggregate_perfcounters_ext(ib_portid_t * portid, + uint16_t cap_mask) { char buf[1024]; uint32_t val = ALL_PORTS; @@ -280,8 +282,8 @@ static void output_aggregate_perfcounters_ext(ib_portid_t * portid) mad_dump_perfcounters_ext(buf, sizeof buf, pc, sizeof pc); - printf("# Port extended counters: %s port %d\n%s", portid2str(portid), - ALL_PORTS, buf); + printf("# Port extended counters: %s port %d (CapMask: 0x%02X)\n%s", + portid2str(portid), ALL_PORTS, ntohs(cap_mask), buf); } static void dump_perfcounters(int extended, int timeout, uint16_t cap_mask, @@ -313,7 +315,7 @@ static void dump_perfcounters(int extended, int timeout, uint16_t cap_mask, if (!(cap_mask & IB_PM_EXT_WIDTH_SUPPORTED)) /* 1.2 errata: bit 9 is extended counter support */ IBWARN ("PerfMgt ClassPortInfo 0x%x extended counters not indicated\n", - cap_mask); + ntohs(cap_mask)); memset(pc, 0, sizeof(pc)); if (!pma_query_via(pc, portid, port, timeout, @@ -328,11 +330,13 @@ static void dump_perfcounters(int extended, int timeout, uint16_t cap_mask, if (!aggregate) { if (extended) - printf("# Port extended counters: %s port %d\n%s", - portid2str(portid), port, buf); + printf("# Port extended counters: %s port %d " + "(CapMask: 0x%02X)\n%s", + portid2str(portid), port, ntohs(cap_mask), buf); else - printf("# Port counters: %s port %d\n%s", - portid2str(portid), port, buf); + printf("# Port counters: %s port %d " + "(CapMask: 0x%02X)\n%s", + portid2str(portid), port, ntohs(cap_mask), buf); } } @@ -601,9 +605,11 @@ int main(int argc, char **argv) && !loop_ports)); if (all_ports_loop && !loop_ports) { if (extended != 1) - output_aggregate_perfcounters(&portid); + output_aggregate_perfcounters(&portid, + cap_mask); else - output_aggregate_perfcounters_ext(&portid); + output_aggregate_perfcounters_ext(&portid, + cap_mask); } } else dump_perfcounters(extended, ibd_timeout, cap_mask, &portid, -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
