[PATCH] ucc_geth: Rework the TX logic.

Joakim Tjernlund Joakim.Tjernlund at transmode.se
Tue Mar 31 05:42:28 EST 2009


Scott Wood <scottwood at freescale.com> wrote on 30/03/2009 19:45:17:
> 
> Joakim Tjernlund wrote:
> > Scott Wood <scottwood at freescale.com> wrote on 30/03/2009 19:22:03:
> >> Joakim Tjernlund wrote:
> >>> gianfar does not seem to use in_/out_ functions for the BDs. Works 
> > just
> >>> fine that too it seems.
> >> It does now that it has explicit barriers in a few places.  Before 
they
> > 
> > In 2.6.29 or later?
> 
> No, it was earlier.

Ah, I see now. The eieio() stuff.

> 
> >> were added, it would sometimes fail under load.  That was due to a 
> >> compiler reordering, but CPU reordering was possible as well.
> > 
> > Does not the CPU skip reordering if the guarded bit is set?
> 
> The guarded bit is typically not set for DMA buffers.  ucc_geth is a bit 

> different since descriptors are in MURAM which is ioremap()ed -- though 
> switching to a cacheable mapping with barriers should be a performance 
> improvement.

I always thought that MURAM was very fast. The whole reason to have BDs in
MURAM is that it is faster than normal RAM, at least that is what I 
thought.

 Jocke




More information about the Linuxppc-dev mailing list