Il 31/07/2014 18:13, Ming Lei ha scritto: > Follows 'perf report' result on cycles event for with/without bypass > coroutine: > > http://pastebin.com/ae0vnQ6V > > From the profiling result, looks bdrv_co_do_preadv() is a bit slow > without bypass coroutine.
Yeah, I can count at least 3.3% time spent here: 0.87% bdrv_co_do_preadv 0.79% bdrv_aligned_preadv 0.71% qemu_coroutine_switch 0.52% tracked_request_begin 0.45% coroutine_swap Another ~3% wasted in malloc, etc. I suggest that we discuss it on the phone at next Tuesday's KVM call. I'm not denying that bypassing coroutines is a useful thing to do. But *everyone* should be doing that if it is so useful, and it's hard to do it without causing code duplication. Paolo