Subject: Re: bnx2_poll panicking kernel

From: Ben Hutchings <[email-masked]>
Date: Mon, 16 Jun 2008 15:04:55 +0100

Josip Rodin wrote:
> Hi,
> 
> Has anyone seen the below bug before? I'm already upgrading in hope that it
> might be already fixed in a newer kernel, but anyway.
> 
> It started happening a few days ago, on a load of a few tens of MB/s (Debian
> rsync mirroring). It doesn't happen on every mirror pulse, so it's not
> exactly reproducible...

That might be a result of the bug fixed by this commit, which would be
triggered by heavy traffic:

commit 6f535763165331bb91277d7519b507fed22034e5
Author: David S. Miller <[email-masked]>
Date:   Thu Oct 11 18:08:29 2007 -0700

    [NET]: Fix NAPI completion handling in some drivers.

    In order for the list handling in net_rx_action() to be
    correct, drivers must follow certain rules as stated by
    this comment in net_rx_action():

                /* Drivers must not modify the NAPI state if they
                 * consume the entire weight.  In such cases this code
                 * still "owns" the NAPI instance and therefore can
                 * move the instance around on the list at-will.
                 */

    A few drivers do not do this because they mix the budget checks
    with reading hardware state, resulting in crashes like the one
    reported by [email-masked].

    BNX2 and TG3 are taken care of here, SKY2 fix is from Stephen
    Hemminger.

This fix went into 2.6.24.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.