Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Sep 2004 16:07:38 -0500
From:      Mark Gooderum <mgooderum@netscape.net>
To:        bugbusters@FreeBSD.org
Subject:   FreeBSD PR
Message-ID:  <415B241A.4030509@netscape.net>

next in thread | raw e-mail | index | archive | help
Just filed a PR with the subject:

    "em driver em_poll doesn't start send if pending packets"

the subject should be:

    "em driver em_intr doesn't start send if pending packets"

I believe this may be the problem (and fix) to the if_em problems noted 
in the 5.3 TODO list.  The following patch to em_intr() has fixed the 
problem for us.  We basically would see an em interface hang after 5-10 
minutes of throughput testing GigE-GigE with an Ixia.
-=-
Mark

--- /tmp/tmp.44554.0    Wed Sep 29 15:52:32 2004
+++ 
/data/work/mark/5.3B4A1.i386/usr/build/ambit2/freebsd5/sys/dev/em/if_em.c   
Wed Sep 29 15:51:31 2004
@@ -986,11 +986,11 @@
                         em_clean_transmit_interrupts(adapter);
                 }
                 loop_cnt--;
         }

-        if (ifp->if_flags & IFF_RUNNING && IFQ_DRV_IS_EMPTY(&ifp->if_snd))
+        if (ifp->if_flags & IFF_RUNNING && !IFQ_DRV_IS_EMPTY(&ifp->if_snd))
                 em_start_locked(ifp);

        EM_UNLOCK(adapter);
         return;
 }





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?415B241A.4030509>