From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752303Ab2GQLy0 (ORCPT ); Tue, 17 Jul 2012 07:54:26 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59890 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752114Ab2GQLyY (ORCPT ); Tue, 17 Jul 2012 07:54:24 -0400 Date: Tue, 17 Jul 2012 14:54:50 +0300 From: "Michael S. Tsirkin" To: Stefan Hajnoczi Cc: Asias He , Paolo Bonzini , linux-kernel@vger.kernel.org, linux-aio@kvack.org, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org, Benjamin LaHaise , Alexander Viro , linux-fsdevel@vger.kernel.org Subject: Re: [PATCH 0/5] Add vhost-blk support Message-ID: <20120717115450.GA9796@redhat.com> References: <1342107302-28116-1-git-send-email-asias@redhat.com> <50052276.2080906@redhat.com> <500527BA.9000001@redhat.com> <50052E7E.6020100@redhat.com> <20120717112645.GA9363@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 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 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