From mboxrd@z Thu Jan 1 00:00:00 1970 From: Asias He Subject: Re: [PATCH] kvm: do not flush after deleting gsi Date: Thu, 13 Dec 2012 12:55:51 +0800 Message-ID: <50C95FD7.9040205@redhat.com> References: <20121212104821.GA6324@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: qemu-devel@nongnu.org, Marcelo Tosatti , Jan Kiszka , Peter Maydell , kvm@vger.kernel.org To: "Michael S. Tsirkin" Return-path: Received: from mx1.redhat.com ([209.132.183.28]:30204 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754152Ab2LMExj (ORCPT ); Wed, 12 Dec 2012 23:53:39 -0500 In-Reply-To: <20121212104821.GA6324@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: Hello Michael, On 12/12/2012 06:48 PM, Michael S. Tsirkin wrote: > Deleting a GSI isn't necessary: it is enough > to stop using it. Delay flush until an entry is used. > > Signed-off-by: Michael S. Tsirkin > --- > kvm-all.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/kvm-all.c b/kvm-all.c > index 3bc3347..fb3180d 100644 > --- a/kvm-all.c > +++ b/kvm-all.c > @@ -991,8 +991,6 @@ void kvm_irqchip_release_virq(KVMState *s, int virq) > } > } > clear_gsi(s, virq); > - > - kvm_irqchip_commit_routes(s); > } > > static unsigned int kvm_hash_msi(uint32_t data) > I tried this patch with vhost-blk with qemu-1.3.0 6d6c9f59ca1b1a76ade7ad868bef191818f58819. Without the drop of msix_fire_vector_notifier in msix_handle_mask_update hack Before: ~20K IOPS After: ~35K IOPS With the drop of msix_fire_vector_notifier in msix_handle_mask_update hack Before: ~197K IOPS After: ~197K IOPS -- Asias