SDIO performance

Dan Williams dcbw at redhat.com
Fri Jan 9 11:30:39 EST 2009


On Fri, 2009-01-09 at 08:46 -0700, Simon Twogood wrote:
> Hi Tim,
> 
> Using an Atmel AT91SAM9263 system-on-a-chip and Linux 2.6.27 I have be  
> able to get speeds of roughly 0.8 MB/s. As a comparison, I was able to  
> get 3.6 MB/s using the wired ethernet adapter on the same board.
> 
> My tests were far from perfect though, as I was just trying to get a  
> rough idea of what kind of speeds I could get.

I was getting about 450K/s around 2.6.26 time with a Fujitsu Lifebook
P1510 using the standard Ricoh SD controller.  Haven't done throughput
tests for a while.  But there certainly could be issues with if_sdio.c
or the core libertas stack, probably contention issues with the various
driver locks, but if you somebody could dig a bit further that would be
great.  As stated there could also be issues with the SDIO stack itself,
it seems to be quite sensitive to the specific controller used and the
quality of that controller.  All the machines I've got to develop on use
Ricoh R5Cxx controllers, which usually don't suck too much.

Dan

> Simon
> 
> 
> On 8-Jan-09, at 6:09 PM, Tim Harvey wrote:
> 
> > Greetings,
> >
> > Back in May of last year I was doing some evaluation of a couple of
> > Marvell Libertas 88w8686 modules on an i.MX31 host running 2.6.22  
> > using
> > the libertas driver from compat-wireless.  I found at the time that  
> > the
> > max throughput I could achieve was about 1.1mbps at 11M and it was
> > suggested that the fact that the i.MX31's SDIO host controller driver
> > did not support MMC_CAP_SDIO_IRQ and could only support 1bit  
> > transfers.
> > Recently I've taken another look at the same sdio modules but this  
> > time
> > running on an OMAP3 beagleboard host running 2.6.27 using the libertas
> > driver from mainline.  This time I find that I can only achieve about
> > 0.8mbps at 11M.
> >
> > I've verified that the OMAP3's MMC/SDIO host controller driver  
> > supports
> > 4-bit mode yet it does not support MMC_CAP_SDIO_IRQ.  Its been  
> > suggested
> > to me on #libertas that the linux core sdio driver is not very  
> > efficient
> > and that also the libertas if_sdio.c support steps down to 1-bit mode
> > for most transfers.  Even still 1bit SDIO has a data transfer rate of
> > 10MB/sec so I'm still surprised at this <1mbps performance.
> >
> > Can anyone else using libertas-sdio tell me what hardware they are  
> > using
> > (host and module) and what software they are using (kernel version +  
> > any
> > relevant patches and libertas firmware) and what throughputs they can
> > achieve?
> >
> > I'm going to be digging into the if_sdio.c component and try to
> > understand the linux core sdio subsystem to see if I can find any hope
> > of speeding things up
> > - any pointers would be greatly appreciated.
> >
> > I've seen the recent patches to support GSPI devices and I wonder what
> > kind of throughput has been acheived on those?
> >
> > Also, as about 8mo's have passed since I looked for hardware supported
> > by the libertas driver, are there any recent USB dongle devices
> > supported out there?  The information on
> > http://linuxwireless.org/en/users/Drivers/libertas hasn't changed in
> > quite some time and I'm not sure if its up-to-date.
> >
> > Thanks,
> >
> > Tim
> >
> > _______________________________________________
> > libertas-dev mailing list
> > libertas-dev at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/libertas-dev
> 
> 
> _______________________________________________
> libertas-dev mailing list
> libertas-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/libertas-dev




More information about the libertas-dev mailing list