On Mon, 5 Jun 2006, Rick Jones wrote:
> Brandeburg, Jesse wrote:
> > Hi Rick, according to our reporter, receives break.  The prefetch (not
> > always, but sometimes) lets the processor get junk from the prefetched
> > area.  Apparently this version of arm doesn't quite do as strict
> > enforcement of bus snoops as x86, ia64, (and even pSeries!) does.
> 
> Bear with me, I'm a software guy :)  I interpret that to mean that the
> processor is basically broken?  If so, wouldn't it be the case that
> prefetch() needs to become a noop on that processor?

For a software guy, you're making a large leap :-) I wouldn't say the 
processor is broken, it is more sensitive to our (admittedly) bad behavior 
when prefetching data for one descriptor *past* any that we currently 
*know* are done.  ARM/XSCALE is able to use prefetch all over the place in 
its arch specific code with no problems (i'm relying on advice from 
someone else on this, i haven't validated with mine own eyes)

Someone else had complained about this particular prefetch anyway (and it 
was the most speculative with the least amount of gain) on the list 
before, so given this information we're trying to take the conservative 
route.

This patch was tested by the reporter and he was pleased with the result.

> > This manifested with a large drop in receive peformance using TCP,
> > probably because it was retransmitting frequently.
> 
> I forget - what were the gains on the other CPUs?

One system (from a while back) I have numbers for showed a 10% increase in 
packets per second that could be handled using netperf udp receive, with 
the prefetch code in place.

And to Andi's make that came in while I was typing this, I reiterate I do 
not believe ARM/XSCALE prefetch to be broken.

Jesse
-
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