On Tue, Jul 17, 2012 at 12:26 PM, Michael S. Tsirkin <mst@xxxxxxxxxx> wrote: > On Tue, Jul 17, 2012 at 12:11:15PM +0100, Stefan Hajnoczi wrote: >> On Tue, Jul 17, 2012 at 10:21 AM, Asias He <asias@xxxxxxxxxx> wrote: >> > On 07/17/2012 04:52 PM, Paolo Bonzini wrote: >> >> >> >> Il 17/07/2012 10:29, Asias He ha scritto: >> >>> >> >>> So, vhost-blk at least saves ~6 syscalls for us in each request. >> >> >> >> >> >> Are they really 6? If I/O is coalesced by a factor of 3, for example >> >> (i.e. each exit processes 3 requests), it's really 2 syscalls per request. >> > >> > >> > Well. I am counting the number of syscalls in one notify and response >> > process. Sure the IO can be coalesced. >> >> Linux AIO also supports batching in io_submit() and io_getevents(). >> Depending on the request pattern in the vring when you process it, you >> should be able to do better than 1 set of syscalls per host I/O >> request. >> >> Are you taking advantage of that at the moment in your userspace benchmark? >> >> Stefan > > Injecting an interrupt directly from kernel bypasses two context switches. > Yes some worloads can coalesce interrupts efficiently but others can't. > It is not really hard to speculate more. > > Personally I don't understand where all this speculation leads us. > Are you guys disputing the measurements posted? If not would not > it be better if discussion focused on the amount of extra code versus > measured gain? 5-15% is nice. But what causes the performance advantage? Knowing the answer to that is important before anyone can say whether this approach is good or not. Stefan -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html