From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [PATCH v8 2/3] x86, apicv: add virtual interrupt delivery support Date: Mon, 7 Jan 2013 19:32:39 -0200 Message-ID: <20130107213239.GB31677@amt.cnet> References: <1357524157-4666-1-git-send-email-yang.z.zhang@intel.com> <1357524157-4666-3-git-send-email-yang.z.zhang@intel.com> <20130107135221.GA25775@amt.cnet> <20130107174843.GA4872@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Yang Zhang , kvm@vger.kernel.org, haitao.shan@intel.com, Kevin Tian To: Gleb Natapov Return-path: Received: from mx1.redhat.com ([209.132.183.28]:56795 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752857Ab3AGVdD (ORCPT ); Mon, 7 Jan 2013 16:33:03 -0500 Content-Disposition: inline In-Reply-To: <20130107174843.GA4872@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Mon, Jan 07, 2013 at 07:48:43PM +0200, Gleb Natapov wrote: > > ioapic_write (or any other ioapic update) > > lock() > > perform update > > make_all_vcpus_request(KVM_REQ_UPDATE_EOI_BITMAP) (*) > > unlock() > > > > (*) Similarly to TLB flush. > > > > The advantage is that all work becomes vcpu local. The end result > > is much simpler code. > What complexity will it remove? Synchronization between multiple CPUs (except the KVM_REQ_ bit processing, which is infrastructure shared by other parts of KVM). We agreed that performance is non issue here.