mbox series

[V2,0/2] ovl: implement async IO routines

Message ID 1574243126-59283-1-git-send-email-jiufei.xue@linux.alibaba.com (mailing list archive)
Headers show
Series ovl: implement async IO routines | expand

Message

Jiufei Xue Nov. 20, 2019, 9:45 a.m. UTC
ovl stacks regular file operations now. However it doesn't implement
async IO routines and will convert async IOs to sync IOs which is not
expected.

This patchset implements overlayfs async IO routines.

Jiufei Xue (2)
vfs: add vfs_iocb_iter_[read|write] helper functions
ovl: implement async IO routines

 fs/overlayfs/file.c      |  116 +++++++++++++++++++++++++++++++++++++++++------
 fs/overlayfs/overlayfs.h |    2
 fs/overlayfs/super.c     |   12 ++++
 fs/read_write.c          |   58 +++++++++++++++++++++++
 include/linux/fs.h       |   16 ++++++
 5 files changed, 188 insertions(+), 16 deletions(-)

Comments

Jiufei Xue Nov. 26, 2019, 2 a.m. UTC | #1
Hi miklos,

Could you please kindly review this patch and give some advice?

Thanks,
Jiufei

On 2019/11/20 下午5:45, Jiufei Xue wrote:
> ovl stacks regular file operations now. However it doesn't implement
> async IO routines and will convert async IOs to sync IOs which is not
> expected.
> 
> This patchset implements overlayfs async IO routines.
> 
> Jiufei Xue (2)
> vfs: add vfs_iocb_iter_[read|write] helper functions
> ovl: implement async IO routines
> 
>  fs/overlayfs/file.c      |  116 +++++++++++++++++++++++++++++++++++++++++------
>  fs/overlayfs/overlayfs.h |    2
>  fs/overlayfs/super.c     |   12 ++++
>  fs/read_write.c          |   58 +++++++++++++++++++++++
>  include/linux/fs.h       |   16 ++++++
>  5 files changed, 188 insertions(+), 16 deletions(-)
>
Jiufei Xue Dec. 6, 2019, 3:54 a.m. UTC | #2
ping again.

From my test, the patchset can improve the performance significantly.

The following data are tested on INTEL P4510 NVMe using fio with iodepth
128 and blocksize 4k.

----------------------------------------------------------------
                      |       RANDREAD     |     RANDWRITE     |
----------------------------------------------------------------
w/ async IO routines  |        377MB/s     |      405MB/s      |
----------------------------------------------------------------
w/o async IO routines |        32.0MB/s	   |      62.3MB/s     |
----------------------------------------------------------------

Regards,
Jiufei

On 2019/11/26 上午10:00, Jiufei Xue wrote:
> Hi miklos,
> 
> Could you please kindly review this patch and give some advice?
> 
> Thanks,
> Jiufei
> 
> On 2019/11/20 下午5:45, Jiufei Xue wrote:
>> ovl stacks regular file operations now. However it doesn't implement
>> async IO routines and will convert async IOs to sync IOs which is not
>> expected.
>>
>> This patchset implements overlayfs async IO routines.
>>
>> Jiufei Xue (2)
>> vfs: add vfs_iocb_iter_[read|write] helper functions
>> ovl: implement async IO routines
>>
>>  fs/overlayfs/file.c      |  116 +++++++++++++++++++++++++++++++++++++++++------
>>  fs/overlayfs/overlayfs.h |    2
>>  fs/overlayfs/super.c     |   12 ++++
>>  fs/read_write.c          |   58 +++++++++++++++++++++++
>>  include/linux/fs.h       |   16 ++++++
>>  5 files changed, 188 insertions(+), 16 deletions(-)
>>
>
Miklos Szeredi Jan. 24, 2020, 12:10 p.m. UTC | #3
On Wed, Nov 20, 2019 at 10:45 AM Jiufei Xue
<jiufei.xue@linux.alibaba.com> wrote:
>
> ovl stacks regular file operations now. However it doesn't implement
> async IO routines and will convert async IOs to sync IOs which is not
> expected.
>
> This patchset implements overlayfs async IO routines.

Thanks,  pushed to overlayfs-next with slight modifications.

Miklos