All of lore.kernel.org
 help / color / mirror / Atom feed
* [Virtio-fs] [PATCH v2 0/2][RFC] virtiofsd: Improve io bandwidth by replacing pwrite with pwritev
@ 2019-08-07  6:57 piaojun
  2019-08-07  9:18 ` Stefan Hajnoczi
  0 siblings, 1 reply; 3+ messages in thread
From: piaojun @ 2019-08-07  6:57 UTC (permalink / raw)
  To: virtio-fs

>From my test, write bandwidth will be improved greatly by replacing
pwrite with pwritev, and the test result as below:

---
pwrite:
# fio -direct=1 -time_based -iodepth=64 -rw=randwrite -ioengine=libaio -bs=1M -size=1G -numjob=16 -runtime=30 -group_reporting -name=file -filename=/mnt/virtiofs/file
file: (g=0): rw=randwrite, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=64
...
fio-2.13
Starting 16 processes
Jobs: 16 (f=16): [w(16)] [100.0% done] [0KB/886.0MB/0KB /s] [0/886/0 iops] [eta 00m:00s]
file: (groupid=0, jobs=16): err= 0: pid=5799: Tue Aug 6 18:48:26 2019
write: io=26881MB, bw=916988KB/s, iops=895, runt= 30018msec

pwritev:
# fio -direct=1 -time_based -iodepth=64 -rw=randwrite -ioengine=libaio -bs=1M -size=1G -numjob=16 -runtime=30 -group_reporting -name=file -filename=/mnt/virtiofs/file
file: (g=0): rw=randwrite, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=64
...
fio-2.13
Starting 16 processes
Jobs: 16 (f=16): [w(16)] [100.0% done] [0KB/1793MB/0KB /s] [0/1793/0 iops] [eta 00m:00s]
file: (groupid=0, jobs=16): err= 0: pid=6328: Tue Aug 6 18:22:17 2019
write: io=52775MB, bw=1758.7MB/s, iops=1758, runt= 30009msec
---

This patch introduces writev and pwritev for lo_write_buf(). I tried my
best not doing harm to the origin code construct, and there will be
some *useless* branches in fuse_buf_copy_one() which are hard to judge
if they will be useful in the future. So I just leave them alone
safely. If the cleanup work is necessary, please let me know.

v2
  - Split into two patches
  - Add the lost flags support, such as FUSE_BUF_PHYS_ADDR

Jun Piao (2):
  add definition of fuse_buf_writev().
  use fuse_buf_writev to replace fuse_buf_write for better performance

Signed-off-by: Jun Piao <piaojun@huawei.com>
Suggested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 buffer.c         |   37 +++++++++++++++++++++++++++++++++++++
 fuse_common.h    |   14 ++++++++++++++
 passthrough_ll.c |    5 ++++-
 seccomp.c        |    2 +
--


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Virtio-fs] [PATCH v2 0/2][RFC] virtiofsd: Improve io bandwidth by replacing pwrite with pwritev
  2019-08-07  6:57 [Virtio-fs] [PATCH v2 0/2][RFC] virtiofsd: Improve io bandwidth by replacing pwrite with pwritev piaojun
@ 2019-08-07  9:18 ` Stefan Hajnoczi
  2019-08-07  9:20   ` piaojun
  0 siblings, 1 reply; 3+ messages in thread
From: Stefan Hajnoczi @ 2019-08-07  9:18 UTC (permalink / raw)
  To: piaojun; +Cc: virtio-fs

On Wed, Aug 07, 2019 at 02:57:05PM +0800, piaojun wrote:

Hi,
Please use git send-email --thread so that each patch is part of the
same email thread.  This makes it easier to locate the entire patch
series in an email client and to apply the patches together.

> >From my test, write bandwidth will be improved greatly by replacing
> pwrite with pwritev, and the test result as below:
> 
> ---
> pwrite:
> # fio -direct=1 -time_based -iodepth=64 -rw=randwrite -ioengine=libaio -bs=1M -size=1G -numjob=16 -runtime=30 -group_reporting -name=file -filename=/mnt/virtiofs/file
> file: (g=0): rw=randwrite, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=64
> ...
> fio-2.13
> Starting 16 processes
> Jobs: 16 (f=16): [w(16)] [100.0% done] [0KB/886.0MB/0KB /s] [0/886/0 iops] [eta 00m:00s]
> file: (groupid=0, jobs=16): err= 0: pid=5799: Tue Aug 6 18:48:26 2019
> write: io=26881MB, bw=916988KB/s, iops=895, runt= 30018msec
> 
> pwritev:
> # fio -direct=1 -time_based -iodepth=64 -rw=randwrite -ioengine=libaio -bs=1M -size=1G -numjob=16 -runtime=30 -group_reporting -name=file -filename=/mnt/virtiofs/file
> file: (g=0): rw=randwrite, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=64
> ...
> fio-2.13
> Starting 16 processes
> Jobs: 16 (f=16): [w(16)] [100.0% done] [0KB/1793MB/0KB /s] [0/1793/0 iops] [eta 00m:00s]
> file: (groupid=0, jobs=16): err= 0: pid=6328: Tue Aug 6 18:22:17 2019
> write: io=52775MB, bw=1758.7MB/s, iops=1758, runt= 30009msec

Nice performance improvement!


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Virtio-fs] [PATCH v2 0/2][RFC] virtiofsd: Improve io bandwidth by replacing pwrite with pwritev
  2019-08-07  9:18 ` Stefan Hajnoczi
@ 2019-08-07  9:20   ` piaojun
  0 siblings, 0 replies; 3+ messages in thread
From: piaojun @ 2019-08-07  9:20 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: virtio-fs

Hi Stefan,

On 2019/8/7 17:18, Stefan Hajnoczi wrote:
> On Wed, Aug 07, 2019 at 02:57:05PM +0800, piaojun wrote:
> 
> Hi,
> Please use git send-email --thread so that each patch is part of the
> same email thread.  This makes it easier to locate the entire patch
> series in an email client and to apply the patches together.

Good suggestion, I will try using 'git send-email'.

Thanks,
Jun

> 
>> >From my test, write bandwidth will be improved greatly by replacing
>> pwrite with pwritev, and the test result as below:
>>
>> ---
>> pwrite:
>> # fio -direct=1 -time_based -iodepth=64 -rw=randwrite -ioengine=libaio -bs=1M -size=1G -numjob=16 -runtime=30 -group_reporting -name=file -filename=/mnt/virtiofs/file
>> file: (g=0): rw=randwrite, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=64
>> ...
>> fio-2.13
>> Starting 16 processes
>> Jobs: 16 (f=16): [w(16)] [100.0% done] [0KB/886.0MB/0KB /s] [0/886/0 iops] [eta 00m:00s]
>> file: (groupid=0, jobs=16): err= 0: pid=5799: Tue Aug 6 18:48:26 2019
>> write: io=26881MB, bw=916988KB/s, iops=895, runt= 30018msec
>>
>> pwritev:
>> # fio -direct=1 -time_based -iodepth=64 -rw=randwrite -ioengine=libaio -bs=1M -size=1G -numjob=16 -runtime=30 -group_reporting -name=file -filename=/mnt/virtiofs/file
>> file: (g=0): rw=randwrite, bs=1M-1M/1M-1M/1M-1M, ioengine=libaio, iodepth=64
>> ...
>> fio-2.13
>> Starting 16 processes
>> Jobs: 16 (f=16): [w(16)] [100.0% done] [0KB/1793MB/0KB /s] [0/1793/0 iops] [eta 00m:00s]
>> file: (groupid=0, jobs=16): err= 0: pid=6328: Tue Aug 6 18:22:17 2019
>> write: io=52775MB, bw=1758.7MB/s, iops=1758, runt= 30009msec
> 
> Nice performance improvement!
> .
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-08-07  9:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-07  6:57 [Virtio-fs] [PATCH v2 0/2][RFC] virtiofsd: Improve io bandwidth by replacing pwrite with pwritev piaojun
2019-08-07  9:18 ` Stefan Hajnoczi
2019-08-07  9:20   ` piaojun

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.