flash read performance

Andre Puschmann andre.puschmann at imms.de
Tue Nov 11 08:28:18 EST 2008


Hi Trant,


Trent Piepho schrieb:
>> map.virt = ioremap(..);
>> map.cached = ioremap_cached(..);
>> map.inval_cache = inval_cache_fct();
> 
> It depends on what mapping driver you're using.  It looks like only the
> pxa2xx driver uses map.cached.  The physmap or of_physmap drivers that I'm
> using don't use it.

The flashmap-drive I am using is custom one made for the gumstix-board. 
However, it is almost identically to pxa2xx-driver from newer kernels.

> I've switched from GPCM to UPM, which lets me use different timings for
> read and write as well as use burst mode.
> 
> In non-cached and guarded mode, I now get 13.61 vs 12.30 MB/s.  That's just
> from slightly better timings because I could make them different for read
> vs write.  The big difference is cached and non-guarded reads, which went
> to 44.79 MB/s from 14.24 MB/s.  That boost is from using burst mode.

Whop, this is great news. Btw. do you drive your flash in asynchronous 
or in synchronous mode? Do you have an extra flash configuration 
register that you need to modify in order to use the burst mode?
My intel NOR flash has an extra read configuration register (RCR). 
However, for some reason I am not able to read/modify/read this register 
successfully.

  > It might be the case that the ethernet module resets the PHY when it 
loads
> and/or when the ethernet device is opened.  That was a problem I was
> having.  The PHY would almost be done when the dhcp client would run and
> open eth0, which would start the phy all over again.

Thanks for that hint. I'll downgrade this as a later task to do.

Regards,
Andre




More information about the linux-mtd mailing list