GSPI and SDIO performance for 8686

Dan Williams dcbw at redhat.com
Thu Jul 30 08:58:15 EDT 2009


On Wed, 2009-07-29 at 14:13 -0700, Tim Harvey wrote:
> Dan Williams wrote:
> > On Wed, 2009-07-29 at 09:59 -0700, Tim Harvey wrote:
> >   
> >> Greetings,
> >>
> >> I've seen a lot of activity lately and development of the GSPI interface 
> >> for libertas.  What max throughput have people been able to get with an 
> >> 8686 talking over GSPI?
> >>
> >> My previous evaluation with an 8686 talking over SDIO (both to an i.MX31 
> >> SDHC on a patched 2.6.22 and to an OMAP3x SDHC on 2.6.28 beagleboard) 
> >> showed a horribly slow max throughput of about 1.4mbps.  Has anyone seen 
> >> better performance in recent libertas/kernel with the OMAP3x SDHC (ie 
> >> talking to the 8686 on an Overo Fire/Air)?
> >>     
> >
> > Any horrible SDIO performance you've seen has got to be dependent on
> > either HZ or the SDHC.  I've routinely pulled 11 or 12 Mbps with normal
> > laptop Ricoh R5C822 controllers.  Now maybe there's scheduling latency
> > or something in the libertas code that erroneously ratelimits related to
> > HZ, but we know we can pull respectable rates out of the card if the
> > SDHC doesn't suck.  So we've got a baseline.  At this point, I suspect
> > the host controller and platform code more than I suspect the libertas
> > driver or the 8686 chip/firmware given this baseline.
> >
> > Dan
> >
> >
> >   
> 
> I would agree the horrible SDIO performance is related to SDHC.  The 
> only people claiming ~10mbps have been using the PCI based Richoh 
> SDHCI.  Has anyone seen > ~1.5mbps using SDIO on any ARM platform?   The 
> i.MX31 SDHC I tesed a year ago was severely limited - only would do 1bit 
> SDIO and required 4-byte algined transfers.  The beagleboard I tested 
> about 6 months ago with the OMAP3x SDHC would apparently do 4-bit SDIO 
> but still showed the same performance.

There was a thing a while ago where when HZ was 250 or something like
that, the performance dropped by 4 due to scheduling delays (because the
packet worker wouldn't get rescheduled until HZ), but I think we killed
that a few kernel versions ago.  What's your HZ value, or are you using
"tickless" kernels?

I'm pretty sure that the kernels I've tested the Ricoh PCI controller on
are all tickless and thus HZ doesn't matter for me.  See the thread
"SDIO Performance once again" from somewhere around Jan/Feb 2009.

Dan





More information about the libertas-dev mailing list