[PATCH v2] UBI: only read necessary size when reading the VID header

Boris Brezillon boris.brezillon at free-electrons.com
Mon Jul 4 02:38:35 PDT 2016


On Wed, 29 Jun 2016 06:49:48 +0300
Artem Bityutskiy <dedekind1 at gmail.com> wrote:

> On Tue, 2016-06-28 at 10:43 -0700, Brian Norris wrote:
> > Hi Artem,
> > 
> > I'll comment on the other branches of this thread, but one thing
> > here:
> > 
> > On Tue, Jun 28, 2016 at 04:00:29PM +0300, Artem Bityutskiy wrote:  
> > > Therefore, unless I misunderstood this patch - it introduces a
> > > regression to those old setups at least (forces MTD to use an
> > > intermediate buffer rather than copy data from NAND directly to the
> > > buffer supplied by UBI)  
> > 
> > It's really a balance between speed of the flash and speed of the
> > memcpy().  
> 
> Sure.
> 
> >  I believe Boris may have benchmarked some of this recently,
> > but I'm really inclined to believe that reading several times as much
> > as
> > you need from flash is much worse than doing some extra memcpy().  
> 
> That's probably true.
> 
> >  So
> > even if we introduce an extra memcpy(), it might still be worth it to
> > save the extra wait-for-flash time.  
> 
> Right.
> 
> > Intuitively, I expect that these days, the I/O time is much more
> > significant than any memcpy().  
> 
> All good points. Besides indeed in case of the subpage the memcpy() is
> present anyway for (for unexpected reasons).
> 
> So yeah, I think the concern I rose is a non-issue and we could proceed
> with Sascha's patch. Thanks!

I see I don't have to convince you with real numbers, but, as pointed
by Brian, memcpy() is indeed way faster than NAND I/Os (and ECC
correction steps).





More information about the linux-mtd mailing list