From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:34390) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SiiW3-0003ho-Gw for qemu-devel@nongnu.org; Sun, 24 Jun 2012 04:49:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SiiW1-0001Yo-UJ for qemu-devel@nongnu.org; Sun, 24 Jun 2012 04:49:55 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59926) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SiiW1-0001Xi-Mn for qemu-devel@nongnu.org; Sun, 24 Jun 2012 04:49:53 -0400 Message-ID: <4FE6D4A6.9080708@redhat.com> Date: Sun, 24 Jun 2012 11:49:42 +0300 From: Avi Kivity MIME-Version: 1.0 References: <4FE4F56D.1020201@web.de> <4FE4F7F5.7030400@web.de> <20120623002259.GA13440@amt.cnet> <20120623090646.GA21908@amt.cnet> <4FE5AC75.1020504@web.de> In-Reply-To: <4FE5AC75.1020504@web.de> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] kvm: First step to push iothread lock out of inner run loop List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: Liu Ping Fan , kvm , Marcelo Tosatti , qemu-devel , Alexander Graf , Anthony Liguori On 06/23/2012 02:45 PM, Jan Kiszka wrote: > > Hmm, we may need the iothread lock around cpu_set_apic_tpr for > !kvm_irqchip_in_kernel(). And as we are at it, apic_base manipulation > can be but there as well. > > With in-kernel irqchip, there is no such need. Also, no one accesses > eflags outside of the vcpu thread, independent of the irqchip mode. In fact !kvm_irqchip_in_kernel() is broken wrt the tpr. Interrupt injection needs to be done atomically, but currently we check the tpr from the injecting thread, which means the cpu thread can race with it. We need to move the check to the vcpu thread so that the guest vcpu is halted. -- error compiling committee.c: too many arguments to function