Re: [PATCH] UBI: Block: Add blk-mq support

From: Ezequiel Garcia
Date: Sun Nov 02 2014 - 17:29:44 EST


On 11/02/2014 07:21 PM, Richard Weinberger wrote:
> Ezequiel,
>
> Am 02.11.2014 um 22:52 schrieb Ezequiel Garcia:
>> Maybe you can explain a bit better what's this all about?
>
> In short, blk-mq is the future and the current blk interface will be legacy. :-)
> Christoph asked me to convert the MTD block drivers to blk-mq.
>

Ah, OK. That makes sense then.

>> Both the commit that introduces blk-mq and the paper on it talk about
>> high IOPS devices, multi-core, NUMA systems. I'm not sure this is the
>> case for UBI-based devices.
>>
>> Probably some numbers would help us decide. Does the patch increases the
>> dynamic memory footprint? Is there any performance benefit?
>
> I did a very rough micro benchmark:
>
> root@(none):~# dd if=/dev/ubiblock0_0 of=/dev/null bs=1M
> 121+1 records in
> 121+1 records out
> 127420416 bytes (127 MB) copied, 1.59056 s, 80.1 MB/s
>
> vs.
>
> root@(none):~# dd if=/dev/ubiblock0_0 of=/dev/null bs=1M
> 121+1 records in
> 121+1 records out
> 127420416 bytes (127 MB) copied, 0.916117 s, 139 MB/s
>
> So, yes there is a performance gain.
>

Wow. Where did you run this and on top of what storage device?

I'm still interested in the memory footprint, UBI is already heavy enough.

>> I kind of like the negative diffstat, but the code doesn't look cleaner
>> or simpler.
>>
>> In other words, we need a good reason before we agree on making this
>> "zen style" driver more complex.
>
> After reading my patch again I think we could move ubiblock_read_to_sg()
> to kapi.c or io.c. It is rather generic and maybe we can tun more UBI users to
> scattergather such that less vmalloc()s are needed.
>
> This would also make the diffstat nicer...
>

Yes, any additional effort to make the current patch any simpler would
be great. In its current form it seems rather cumbersome to me.

If you can re-submit something better and put a more verbose commit log,
I'd really appreciate it :)
--
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com

Attachment: signature.asc
Description: OpenPGP digital signature