I also disabled the IBWARN and also tweaked ibcheckerrs just enough so that ibcheckerrors is reporting properly now.
Attached is the patch that includes both of the above modifications and integrates properly against the 1.3.2 released tree.
Again, thank you. :) Greg
infiniband-diags-1.3.2-allports_workaround.patch
Description: Binary data
On Oct 15, 2007, at 4:31 AM, Hal Rosenstock wrote:
On Fri, 2007-10-12 at 15:14 -0700, Hal Rosenstock wrote:On Fri, 2007-10-12 at 14:59 -0700, Hal Rosenstock wrote:On Fri, 2007-10-12 at 14:47 -0700, Greg Kurtzer wrote:ibwarn: [25274] pma_query: lid 1 port 1 ibwarn: [25274] mad_rpc: data offs 64 sz 192 mad data 0101 0000 0000 0014 0000 0000 0000 0000Thanks; AllPortSelect is off in CapabilityMask which is consistent withthe behavior. (It would be trivial for those HCA PMAs to indicateAllPortSelect is supported (since it's the same as supporting one port)and then all would be fine but that's not a requirement).A check should be added in perfquery for this.I will generate a patchfor that but that won't fix the problem.Actually, perfquery gets the number of ports and could do multiple PerfGets, one per port, and accumulate the "all" ports. This approach may be better than dealing with the scripts.Can you try this and let me know if this resolves your issue ? The patchis against the master (OFED 1.3):diff --git a/infiniband-diags/src/perfquery.c b/infiniband-diags/ src/perfquery.cindex 148e452..c976fc5 100644 --- a/infiniband-diags/src/perfquery.c +++ b/infiniband-diags/src/perfquery.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2004-2007 Voltaire Inc. All rights reserved. + * Copyright (c) 2007 Xsigo Systems Inc. All rights reserved. * * This software is available to you under a choice of one of two* licenses. You may choose to be licensed under the terms of the GNU@@ -42,7 +43,7 @@ #include <getopt.h> #include <netinet/in.h> -#define __BUILD_VERSION_TAG__ 1.2.2 +#define __BUILD_VERSION_TAG__ 1.2.3 #include <infiniband/common.h> #include <infiniband/umad.h> #include <infiniband/mad.h> @@ -99,6 +100,9 @@ main(int argc, char **argv) int ca_port = 0; int extended = 0; uint16_t cap_mask; + int allports = 0; + int node_type, num_ports; + uint8_t data[IB_SMP_DATA_SIZE]; static char const str_opts[] = "C:P:s:t:dGearRVhu"; static const struct option long_opts[] = { @@ -191,6 +195,35 @@ main(int argc, char **argv) /* PerfMgt ClassPortInfo is a required attribute */ if (!perf_classportinfo_query(pc, &portid, port, timeout)) IBERROR("classportinfo query"); + /* ClassPortInfo should be supported as part of libibmad */ + memcpy(&cap_mask, pc+2, sizeof(cap_mask)); /* CapabilityMask */ + cap_mask = ntohs(cap_mask); + if (!(cap_mask & 0x100)) /* bit 8 is AllPortSelect */ + if (port == 255) { + allports = 1; + IBWARN("AllPortSelect not supported"); + } + + if (allports == 1) { + + /* + * Simulate all ports support in PMA + * Determine node type, number of (physical) ports, + * and, if switch, whether SP0 is enhanced + * to determine first and last port to query + */ + + /* For now, support single port CAs */ + if (smp_query(data, &portid, IB_ATTR_NODE_INFO, 0, 0) < 0) + IBERROR("smp query nodeinfo failed"); + node_type = mad_get_field(data, 0, IB_NODE_TYPE_F); + if (node_type != IB_NODE_CA) /* NodeType other than CA ? */ + IBERROR("smp query nodeinfo: Node type not CA"); + mad_decode_field(data, IB_NODE_NPORTS_F, &num_ports); + if (num_ports != 1)+ IBERROR("smp query nodeinfo: %d ports; only 1 supported currently", num_ports);+ port = num_ports; + } if (reset_only) goto do_reset; @@ -201,9 +234,6 @@ main(int argc, char **argv) mad_dump_perfcounters(buf, sizeof buf, pc, sizeof pc); } else { - /* Should ClassPortInfo be implemented in libibmad ? */ - memcpy(&cap_mask, pc+2, sizeof(cap_mask)); /* CapabilityMask */ - cap_mask = ntohs(cap_mask);if (!(cap_mask & 0x200)) /* 1.2 errata: bit 9 is extended counter support */ IBWARN("PerfMgt ClassPortInfo 0x%x extended counters not indicated\n", cap_mask);-- HalI will try to find time to look at the scripts and see what it will taketo fix this. Where AllPortSelect is not supported, they need to drop back to individual ports. -- Hal _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/generalTo unsubscribe, please visit http://openib.org/mailman/listinfo/ openib-general_______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/generalTo unsubscribe, please visit http://openib.org/mailman/listinfo/ openib-general
-- Greg Kurtzer [EMAIL PROTECTED]
_______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
