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

Reply via email to