From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [PATCH] KVM: x86: Kick VCPU outside PIC lock again Date: Wed, 24 Feb 2010 11:31:10 +0100 Message-ID: <4B84FFEE.9020706@siemens.com> References: <20100217135901.331576359@linutronix.de> <4B842A1F.50601@siemens.com> <4B84F466.2080009@siemens.com> <4B84F5D4.5020202@redhat.com> <4B84F765.5040209@siemens.com> <4B84F9AF.8060804@redhat.com> <4B84FBDB.1070006@siemens.com> <4B84FCBB.8070702@redhat.com> <4B84FDF5.5080106@siemens.com> <4B84FF2F.5040705@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Thomas Gleixner , KVM , Gleb Natapov , RT , Linux Kernel Mailing List To: Avi Kivity Return-path: In-Reply-To: <4B84FF2F.5040705@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Avi Kivity wrote: > On 02/24/2010 12:22 PM, Jan Kiszka wrote: >> Avi Kivity wrote: >> >>> On 02/24/2010 12:13 PM, Jan Kiszka wrote: >>> >>>> >>>>> I see. Won't we hit the same issue when we call pic functions from >>>>> atomic context during the guest entry sequence? >>>>> >>>>> >>>>> >>>> If there are such call paths, for sure. What concrete path(s) do you >>>> have in mind? >>>> >>>> >>>> >>> vcpu_enter_guest() -> inject_pending_event() -> >>> kvm_cpu_{has,get}_interrupt() -> various pic functions if you're unlucky. >>> >> But do they kick anyone or just check/pull information? > > Probably not, kicking should be a side effect (or rather the main > effect) of queueing an interrupt, not dequeuing it. > >> Never saw any >> warnings during my tests last year (granted: with older -rt and kvm >> versions). >> > > Well, most guests kill the pic early on. Will apply the patch. > I think it needs some extension: pic_irq_request should only schedule a wake up on a rising edge of the PIC output. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux