>-----Original Message-----
>From: Brandeburg, Jesse [mailto:jesse.brandeb...@intel.com]
>Sent: Friday, October 08, 2010 11:03 AM
>To: Chris Friesen
>Cc: e1000-devel@lists.sourceforge.net; Allan, Bruce W; Kirsher, Jeffrey T;
>Ronciak, John
>Subject: Re: [E1000-devel] ixgbe driver stuck with interrupts off but
>packets in rx ring
>
>
>
>On Fri, 8 Oct 2010, Chris Friesen wrote:
>
>>
>> Hi all,
>>
>> We've got an 82599 device using the XAUI interface over an ATCA
>> backplane data link, using version 2.0.72.4 of the ixgbe driver from
>> sourceforge.  (We also tried 2.1.4 and it didn't help.)
>>
>> As I mentioned a while back, I'm investigating an issue where under load
>> we eventually suddenly stop receiving packets.  We're sending out
>> packets, I can see the reply being sent with tcpdump on other hosts, but
>> we never receive the reply.  The driver doesn't complain about loss of
>> carrier (and doesn't indicate dropped packets).
>>
>> I added some instrumentation that triggers once we haven't received any
>> packets for at least 300ms (and I know that we should be receiving
>> some).  The instrumentation dumps the values of various
>> interrupt-related registers on the 82599 and also walks the rx rings to
>> see if there are any packets ready to process.
>
>I guess, first did you end up with the wmb/rmb patches added by IBM for
>the PPC stuff upstream?  I'm not sure we have those in our sf.net driver
>yet.

I believe I added this patch to the source forge driver around 2.0.103 so it 
"should" be in the 2.1.4 driver.  Assuming this is the patch you were talking 
about.

[r...@dcs_desk CORE]# cvs diff -r 1.1317 -r 1.1318 -up ixgbe_main.c
Index: ixgbe_main.c
===================================================================
RCS file: /home/cvsroot/ladsw/ixgbe/linux/oplin/src/CORE/ixgbe_main.c,v
retrieving revision 1.1317
retrieving revision 1.1318
diff -u -p -r1.1317 -r1.1318
--- ixgbe_main.c        10 Aug 2010 01:41:17 -0000      1.1317
+++ ixgbe_main.c        10 Aug 2010 20:42:13 -0000      1.1318
@@ -453,6 +453,7 @@ static bool ixgbe_clean_tx_irq(struct ix
        while ((eop_desc->wb.status & cpu_to_le32(IXGBE_TXD_STAT_DD)) &&
               (count < tx_ring->work_limit)) {
                bool cleaned = false;
+               rmb(); /* read buffer_info after eop_desc */
                for ( ; !cleaned; count++) {
                        tx_desc = IXGBE_TX_DESC_ADV(tx_ring, i);
                        tx_buffer_info = &tx_ring->tx_buffer_info[i];


Thanks,
-Don

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to