netdev
[Top] [All Lists]

Re: e100 "Ferguson" release

To: "Feldman, Scott" <scott.feldman@xxxxxxxxx>
Subject: Re: e100 "Ferguson" release
From: Jeff Garzik <jgarzik@xxxxxxxxx>
Date: Tue, 5 Aug 2003 11:24:18 -0400
Cc: Felix Radensky <felix@xxxxxxxxx>, Ben Greear <greearb@xxxxxxxxxxxxxxx>, netdev@xxxxxxxxxxx
In-reply-to: <C6F5CF431189FA4CBAEC9E7DD5441E01022292A4@xxxxxxxxxxxxxxxxxxxxxx>
References: <C6F5CF431189FA4CBAEC9E7DD5441E01022292A4@xxxxxxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.3.28i
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>