[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <979A8436335E3744ADCD3A9F2A2B68A504B81E31@SJEXCHMB10.corp.ad.broadcom.com>
Date: Thu, 13 Sep 2012 20:34:57 +0000
From: "Yuval Mintz" <yuvalmin@...adcom.com>
To: "David Miller" <davem@...emloft.net>
cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"Dmitry Kravkov" <dmitry@...adcom.com>,
"Eilon Greenstein" <eilong@...adcom.com>
Subject: RE: [net PATCH v2 1/7] bnx2x: Avoid sending multiple statistics
queries
> > This patch prevents the sending of an additional instance of statistics
> query
> > while the previous query hasn't completed.
> >
> This change results in no change in behavior as far as I can tell.
>
> > - if (bnx2x_storm_stats_update(bp) && (bp->stats_pending++ == 3)) {
> > - BNX2X_ERR("storm stats were not updated for 3 times\n");
> > - bnx2x_panic();
> > + if (bnx2x_storm_stats_update(bp)) {
> > + if (bp->stats_pending++ == 3) {
> > + BNX2X_ERR("storm stats were not updated for 3
> times\n");
> > + bnx2x_panic();
> > + }
But you're missing the 'return;' statement at the end.
>
> There is no difference between:
>
> if (A && B) {
> C;
> }
>
> and:
>
> if (A) {
> if (B) {
> C;
> }
> }
But there is a difference between:
If (A && B) {
C;
D;
}
And:
if (A) {
if (B) {
C;
}
D;
}
The point of this patch was not to change the condition of the print & panic but rather to guarantee that
if bnx2x_storm_stats_update failed, no more ramrods will be posted, as the function will return
(regardless of stats_pending value).
Sorry it wasn't clearer in the patch.
--
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