From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [PATCH] kvm: do not flush after deleting gsi Date: Thu, 13 Dec 2012 16:34:16 +0100 Message-ID: <50C9F578.6030302@siemens.com> References: <20121212104821.GA6324@redhat.com> <50C95FD7.9040205@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Peter Maydell , Marcelo Tosatti , "qemu-devel@nongnu.org" , "kvm@vger.kernel.org" , "Michael S. Tsirkin" To: Asias He Return-path: In-Reply-To: <50C95FD7.9040205@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Sender: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org List-Id: kvm.vger.kernel.org On 2012-12-13 05:55, Asias He wrote: > 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 > Is the guest balancing the IRQ(s) between its vCPUs all the time? Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux