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

Richard Weinberger richard at nod.at
Mon Jul 4 15:24:39 PDT 2016


Am 04.07.2016 um 11:38 schrieb Boris Brezillon:
> 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).

Thanks for all the input! :-)
I'll merge this patch in 4.8.

Thanks,
//richard



More information about the linux-mtd mailing list