CPU caching of flash regions.
dwmw2 at infradead.org
Mon May 14 12:17:45 EDT 2001
ebiederman at lnxi.com said:
> What kind of scenario are we talking about? Do the pages get read
> multiple times? Of is it just that that copy_from needs to be more
> highly optimized like memcpy? I suspect that before the whole
> interface changes you should experiment and see what really needs to
> be done.
This is during the initial mount of JFFS2. Nothing should be read twice -
but we should at least be able to fill cache lines and do burst reads from
the flash chips, shouldn't we?
> As for interface changes I would suggest an additional opertation
> memory_barrier that forces the flush if needed.
The original plan involved no interface changes - I was suggesting that the
map driver would DTRT with the caches internally.
> But I really think you should be able to get it working faster simply
> by optimizing the copy_from routine.
Most of the copy_from routines use memcpy_fromio(), which on i386 is just
a memcpy(). It ought to be fairly close to optimal.
Actually, the board used for the offending profile is a board with paged
access to the flash, so it's slightly slower than some others - but the
overhead shouldn't be too high. And the cache benefit would be more limited.
More information about the linux-mtd