[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHo-Oow3D1haZ8MzV7B0boc-fzL-S7DT+6QuOEgQCSYcvenXsQ@mail.gmail.com>
Date: Thu, 21 Mar 2013 14:23:47 -0700
From: Maciej Żenczykowski <zenczykowski@...il.com>
To: David Miller <davem@...emloft.net>
Cc: eilong@...adcom.com, eric.dumazet@...il.com, dmitry@...adcom.com,
netdev@...r.kernel.org, yuvalmin@...adcom.com
Subject: Re: [PATCH] bnx2x: fix occasional statistics off-by-4GB error
Just as an update on the state here.
Extensive testing both in lab and in deployment confirms the already
applied patch fixes the problem.
My concerns about aggregate counters being wrong (after taking another
long look at the data from the 'bad' run)
was simply a matter of me getting mixed up in what was the 'correct'
value I should be seeing.
ie. I did not actually see any bad behaviour with this patch.
That said. I spent a fair bit of time debugging this before I
realized I was stupid, and found other problems
while doing that. I cannot actually trigger the potential problems,
but I'll follow up to this with a couple patches
to fix potential problems (and export more stats).
(a) The DIFF_64 macro is buggy in the case of underflow due to unsigned-ness
(b) Any code which does SUB/ADD should instead do ADD/SUB, because
SUB(A,B) is implemented via DIFF(A,B) and thus doesn't actually do
subtraction, but instead does A := max(A-B, 0)
(c) there's a bunch of extra statistics it is trivial to export via
ethtool which make debugging stuff like this much easier
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists