Il 07/09/2014 12:32, Ming Lei ha scritto:> It is a good idea to disable SG merge for vq incapable of indirect because > there are very limited direct descriptors.I think you mean _enabling_ SG merge if indirect descriptors are not there.> For vq capable of indirect, it should be better to not do SG merge at default > because: > > - from hypervisor view, no matter how many segments one req has, all are > submitted to host kernel by one syscall, such as readv/io_submit > > - host kernel still need to do the same merge againHere we agree. Paolo> From my test(virtio-blk over null_blk), looks enabling SG merge may cause > throughput a little drop(~3%).
On Wed, Sep 10, 2014 at 11:18 PM, Paolo Bonzini <pbonzini at redhat.com> wrote:> Il 07/09/2014 12:32, Ming Lei ha scritto: >> It is a good idea to disable SG merge for vq incapable of indirect because >> there are very limited direct descriptors. > > I think you mean _enabling_ SG merge if indirect descriptors are not there.You are right, sorry for the typo.>> For vq capable of indirect, it should be better to not do SG merge at default >> because: >> >> - from hypervisor view, no matter how many segments one req has, all are >> submitted to host kernel by one syscall, such as readv/io_submit >> >> - host kernel still need to do the same merge again > > Here we agree. > > Paolo > >> From my test(virtio-blk over null_blk), looks enabling SG merge may cause >> throughput a little drop(~3%). >Thanks, -- Ming Lei
Apparently Analagous Threads
- [PATCH] virtio_blk: merge S/G list entries by default
- [PATCH] virtio_blk: merge S/G list entries by default
- [PATCH] virtio_blk: merge S/G list entries by default
- [PATCH V3] io_uring: fix IO hang in io_wq_put_and_exit from do_exit()
- [PATCH V3] io_uring: fix IO hang in io_wq_put_and_exit from do_exit()