Re: [PATCH 0/5] Add vhost-blk support
From: Stefan Hajnoczi <hidden>
Date: 2012-07-17 11:51:23
Also in:
kvm, lkml, virtualization
On Tue, Jul 17, 2012 at 12:42 PM, Stefan Hajnoczi [off-list ref] wrote:
On Tue, Jul 17, 2012 at 12:26 PM, Michael S. Tsirkin [off-list ref] wrote:quoted
On Tue, Jul 17, 2012 at 12:11:15PM +0100, Stefan Hajnoczi wrote:quoted
On Tue, Jul 17, 2012 at 10:21 AM, Asias He [off-list ref] wrote:quoted
On 07/17/2012 04:52 PM, Paolo Bonzini wrote:quoted
Il 17/07/2012 10:29, Asias He ha scritto:quoted
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? StefanInjecting 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?
To be clear, I suggest posting profiling results and explaining the improvement over kvmtool. Stefan