From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [Android-virt] [PATCH v3 1/8] ARM: KVM: Initial skeleton to compile KVM support Date: Mon, 06 Jun 2011 10:42:42 +0300 Message-ID: <4DEC84F2.5000902@redhat.com> References: <20110603150318.17011.82777.stgit@ubuntu> <4DE8FE38.6030405@siemens.com> <4DE90397.5080801@siemens.com> <4DEB74DA.2040909@redhat.com> <4DEB8F22.1020802@web.de> <4DEB9033.9060109@redhat.com> <4DEB998E.1010805@web.de> <4DEB9C60.1030001@redhat.com> <4DEB9D4A.9060702@web.de> <4DEBAE9F.2010400@redhat.com> <21338E26-01D2-4A1A-816B-2D596EC557B8@suse.de> <4DEBAFD4.7040208@redhat.com> <4136FD10-CE47-47B6-9C38-78BE2EA89028@suse.de> <4DEBC175.4060007@web.de> <9CFA1D37-ADE6-4AC8-870A-5B76C42D1A9F@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Jan Kiszka , Christoffer Dall , kvm@vger.kernel.org, a.costa@virtualopensystems.com, android-virt@lists.cs.columbia.edu, s.raho@virtualopensystems.com To: Alexander Graf Return-path: Received: from mx1.redhat.com ([209.132.183.28]:7616 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756864Ab1FFHnE (ORCPT ); Mon, 6 Jun 2011 03:43:04 -0400 In-Reply-To: <9CFA1D37-ADE6-4AC8-870A-5B76C42D1A9F@suse.de> Sender: kvm-owner@vger.kernel.org List-ID: On 06/05/2011 08:54 PM, Alexander Graf wrote: > On 05.06.2011, at 19:48, Jan Kiszka wrote: > > > On 2011-06-05 19:19, Alexander Graf wrote: > >> > >> On 05.06.2011, at 18:33, Avi Kivity wrote: > >> > >>> On 06/05/2011 07:30 PM, Alexander Graf wrote: > >>>>>> > >>>>>> Could you elaborate what you mean here? I'm not really following. Are > >>>>>> you suggesting a new arch-generic interface? (Pardon my ignorance). > >>>>> > >>>>> Using KVM_IRQ_LINE everywhere except s390, not just in x86 and ARM. > >>>> > >>>> An in-kernel MPIC implementation is coming for PPC, so I don't see any reason to switch from something that works now. > >>> > >>> Right, this is spilled milk. > >>> > >>> Does the ppc qemu implementation raise KVM_INTERRUPT solely from the vcpu thread? > >> > >> Well, without iothread it used to obviously. Now that we have an iothread, it calls ioctl(KVM_INTERRUPT) from a separate thread. The code also doesn't forcefully wake up the vcpu thread, so yes, I think here's a chance for at least delaying interrupt delivery. Chances are pretty slim we don't get out of the vcpu thread at all :). > > > > There are good chances to run into a deadlock when calling a per-vcpu > > IOCTL over a foreign context: calling thread holds qemu_mutex and blocks > > on kvm_mutex inside the kernel, target vcpu is running endless guest > > loop, holding kvm_mutex, all other qemu threads will sooner or later > > block on the global lock. That's at least one pattern you can get on x86 > > (we had a few of such bugs in the past). > > Any recommendations? Should we just signal the main thread when we want to inject an interrupt? > Signal the vcpu thread, of course. There's on_vcpu (or on_cpu, don't know how it's called today) for that. -- error compiling committee.c: too many arguments to function