On Tue, Aug 5, 2014 at 5:48 PM, Kevin Wolf <kw...@redhat.com> wrote: > Am 05.08.2014 um 05:33 hat Ming Lei geschrieben: >> Hi, >> >> These patches bring up below 4 changes: >> - introduce object allocation pool and apply it to >> virtio-blk dataplane for improving its performance >> >> - introduce selective coroutine bypass mechanism >> for improving performance of virtio-blk dataplane with >> raw format image > > Before applying any bypassing patches, I think we should understand in > detail where we are losing performance with coroutines enabled.
>From the below profiling data, CPU becomes slow to run instructions with coroutine, and CPU dcache miss is increased so it is very likely caused by switching stack frequently. http://marc.info/?l=qemu-devel&m=140679721126306&w=2 http://pastebin.com/ae0vnQ6V > > I also think that the device emulation has no business in deciding > whether the bypass is used (it depends solely on conditions outside of > the device) and that leaking the fd number out of raw-posix is wrong. > Both of them are layering violations that shouldn't be reintroduced. Yes, that is right, and I have added comments that the bypass hint will be moved to block layer completely in future. Thanks,