On Tue, 2007-12-11 at 13:46 +0000, Sasha Khapyorsky wrote: > For CAs query performance counters only for single ports by lid and port > number, and not whole node with 'all ports' option.
Should the description also reference the bug # ? Will a similar thing be done to the other diag scripts which have this same issue (but haven't been reported yet) ? Would it be better to fix this in the underlying tool used (perfquery) and in that way address it for all the diag scripts ? -- Hal > Signed-off-by: Sasha Khapyorsky <[EMAIL PROTECTED]> > --- > infiniband-diags/scripts/ibcheckerrors.in | 32 ++++++++++------------------ > 1 files changed, 12 insertions(+), 20 deletions(-) > > diff --git a/infiniband-diags/scripts/ibcheckerrors.in > b/infiniband-diags/scripts/ibcheckerrors.in > index cac2475..5cfabc6 100644 > --- a/infiniband-diags/scripts/ibcheckerrors.in > +++ b/infiniband-diags/scripts/ibcheckerrors.in > @@ -79,15 +79,15 @@ echo "$text" | awk ' > BEGIN { > ne=0 > } > -function check_node(lid) > +function check_node(lid, port) > { > nodechecked=1 > if (system("'$IBPATH'/ibchecknode '"$ca_info"' '$gflags' '$verbose' " > lid)) { > ne++ > - badnode=1 > + print "\n# " ntype ": nodeguid 0x" nodeguid " failed" > return > } > - if (system("'$IBPATH'/ibcheckerrs '"$ca_info"' '$gflags' '$verbose' > '$brief' " lid " 255")) > + if (system("'$IBPATH'/ibcheckerrs '"$ca_info"' '$gflags' '$verbose' > '$brief' " lid " " port)) > nodeerr=1; > } > > @@ -105,30 +105,22 @@ function check_node(lid) > > lid = substr($0, index($0, "port 0 lid ") + 11) > lid = substr(lid, 1, index(lid, " ") - 1) > - check_node(lid) > + check_node(lid, 255) > } > /^\[/ { > nports++ > port = $1 > - if (!nodechecked) { > - lid = substr($0, index($0, " lid ") + 5) > - lid = substr(lid, 1, index(lid, " ") - 1) > - check_node(lid) > - } > - if (badnode) { > - print "\n# " ntype ": nodeguid 0x" nodeguid " failed" > - next > - } > sub("\\(.*\\)", "", port) > gsub("[\\[\\]]", "", port) > - if (nodeerr) > - if (system("'$IBPATH'/ibcheckerrs '"$ca_info"' > '$gflags' '$verbose' '$brief' " lid " " port)) { > - if (!'$v' && oldlid != lid) { > - print "# Checked " ntype ": nodeguid > 0x" nodeguid " with failure" > - oldlid = lid > - } > + if (ntype != "Switch") { > + lid = substr($0, index($0, " lid ") + 5) > + lid = substr(lid, 1, index(lid, " ") - 1) > + check_node(lid, port) > + if (nodeerr) > pcnterr++; > - } > + } else if (nodeerr && > + system("'$IBPATH'/ibcheckerrs '"$ca_info"' '$gflags' > '$verbose' '$brief' " lid " " port)) > + pcnterr++; > } > > /^ib/ {print $0; next} _______________________________________________ ewg mailing list ewg@lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg