On Tue, Jul 17, 2012 at 12:42:13PM +0100, Stefan Hajnoczi wrote: > 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? Well, check the number of interrupts. If it's high then that is part of it. > Knowing the answer to that is important before anyone can say whether > this approach is good or not. > > Stefan Why is it? -- MST -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html