netdev
[Top] [All Lists]

Re: e100 "Ferguson" release

To: Jeff Garzik <jgarzik@xxxxxxxxx>
Subject: Re: e100 "Ferguson" release
From: Felix Radensky <felix@xxxxxxxxx>
Date: Sun, 10 Aug 2003 12:00:12 +0300
Cc: "Feldman, Scott" <scott.feldman@xxxxxxxxx>, Ben Greear <greearb@xxxxxxxxxxxxxxx>, netdev@xxxxxxxxxxx
Organization: Allot Communications Ltd.
References: <C6F5CF431189FA4CBAEC9E7DD5441E01022292A4@xxxxxxxxxxxxxxxxxxxxxx> <20030805152418.GB6695@xxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02
Hi, Jeff, Scott

Are you planning to fix this before 2.4.22-final ?

Thanks.

Felix.

Jeff Garzik wrote:
On Tue, Aug 05, 2003 at 08:19:25AM -0700, Feldman, Scott wrote:
  
I've also noticed that the number of hard_start_xmit failures 
in e1000 has increased significantly in version 5.1.13-k1. In 
version 5.0.43-k1 the number of failures was much smaller.
      
Interesting.  Felix, would you undo the change[1] below in 5.1.13-k1 and
see what happens?  With the change below, 5.1.13 would be more
aggressive on Tx cleanup, so we'll be quicker waking the queue than
before. 

-scott

        for(i = 0; i < E1000_MAX_INTR; i++)
-               if(!e1000_clean_rx_irq(adapter) &&
+               if(!e1000_clean_rx_irq(adapter) &
                   !e1000_clean_tx_irq(adapter))
                        break;

[1] Something still bothers me about this new form where we're mixing a
bit-wise operator with logical operands.  Should this bother me?
    

It doesn't matter to the compiler if you make it explicit:

	unsigned int rx_work = e1000_clean_rx_irq();
	unsigned int tx_work = e1000_clean_tx_irq();
	if (!rx_work && !tx_work)
		break;


  

<Prev in Thread] Current Thread [Next in Thread>