Re: [PATCH v9 6/6] block: loop: support DIO & AIO

Ming Lei
2015-08-10T14:33:12Z

On Mon, Aug 10, 2015 at 4:08 AM, Christoph Hellwig <hch@infradead.org> wrote:
> On Sun, Aug 09, 2015 at 10:50:41PM -0400, Ming Lei wrote:
>> Christoph, could you share your idea again about this approch?
>>
>> If you still don't think it is good to switch between buffered I/O
>> and direct I/O, I will not do that in next post.
>
> If we epxose a 512 byte block size to the loop device people will use
> it, for example mkfs.xfs might do smaller I/O, extN will default to
> small blocksize for small devices, etc.

Looks the default block size of mkfs.ext4/mkfs.xfs is 4096 for loop.

>
> If you are using a loop devices on a 4k sector backing device and care
> about performance (which current loop users generally don't..) just
> make sure to set the loop block size to 4k, which Hannes' series will
> allow us to do easily.

IMO, using 4k sector size may not improve performance for most of
applications(buffered I/O, normal direct I/O) because the request from
these applications is already 4K aligned even the sector size is 512 and
the transfer from loop block device to backing file isn't changed basically.

Also for old applications, userpsace can't use 4K sector size.

BTW, could you let me know if you still object the approch(runtime switch)
in this patch? I am fine to not do that if you aren't happy with the approach.

Thanks,
Ming