Re: [GIT] Networking

From: Torsten Kaiser
Date: Tue Apr 03 2012 - 15:23:53 EST


On Tue, Apr 3, 2012 at 2:34 AM, David Miller <davem@xxxxxxxxxxxxx> wrote:
> 7) virtio_net accidently uses net_ratelimit() not only on the kernel
>   warning but also the statistic bump, fix from Rick Jones.

I just saw this commit land in Linus tree and I think its got its
parentheses wrong.

Old code (minus the dev_warn()-messages):
if (net_ratelimit()) {
if (likely(capacity == -ENOMEM)) {
dev_warn(...);
} else {
dev->stats.tx_fifo_errors++;
dev_warn(...);
}
}

New code (minus the dev_warn()-messages):
if (likely(capacity == -ENOMEM)) {
if (net_ratelimit()) {
dev_warn(...);
} else {
dev->stats.tx_fifo_errors++;
if (net_ratelimit())
dev_warn(...);
}
}

Now it will count -ENOMEM errors that were not logged..

I think, intended was:
if (likely(capacity == -ENOMEM)) {
if (net_ratelimit()) {
dev_warn(...);
}
} else {
dev->stats.tx_fifo_errors++;
if (net_ratelimit())
dev_warn(...);
}

HTH, Torsten
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/