On Wed, 2005-07-12 at 15:06 -0800, Jesse Brandeburg wrote:
> On Wed, 7 Dec 2005, David S. Miller wrote:
[..]
> Okay, so I tested with just pktgen sending to a machine with a PCI Express 
> Intel 82571 server adapter.  The stack is just discarding the data, no 
> routing.
> 

Where are you discarding at? tc rules or firewall? The results would be
affected.

> There are 5 prefetches in the e1000_clean_rx_irq_ps function
> #1 skb->data
> #2 next rx descriptor

The above are probably the most useful. I am not sure if they are also
the ones Robert picked.

> #3 next rx buffer_info
> #4 next skb
> #5 next skb->data
> 

all these are speculative; i.e you may prefetch but never use it.

> There are _no_ copybreaks in this code
> 

But would be nonetheless to see it with copybreak turned on.

> here are my results:
> sender sending at ~700000 pkt/s
> dual Xeon, 2.8GHz, 1MB cache, 2.6.14
> 

Are the IRQs being balanced?

> all tests with 6.2.15
> no prefetch:  517500
> #1:           539000
> #1#2:         547500
> #1#2#5:               565500
> #1#2#3#5:     565100
> #1#2#3:               545500
> #1#2#3#4:     544200
> 
> prefetching the next rx descriptor really helps us. (#2)
> prefetching the next skb->data also really helps.
> 
> in no case did the prefetch hurt anything on this box. 
> I'd prefer leaving  #1#2#5 for now.
> 

send the changes and i will test tommorow. 

cheers,
jamal

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to