From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Tian, Kevin" Subject: RE: [PATCH 08/31] nVMX: Fix local_vcpus_link handling Date: Tue, 24 May 2011 19:30:46 +0800 Message-ID: <625BA99ED14B2D499DC4E29D8138F1505C9BFA34FE@shsmsx502.ccr.corp.intel.com> References: <20110517181132.GA16262@fermat.math.technion.ac.il> <20110517184336.GA10394@amt.cnet> <20110517193030.GA21656@fermat.math.technion.ac.il> <20110517195253.GB11065@amt.cnet> <20110518055236.GA1230@fermat.math.technion.ac.il> <20110518120801.GA9176@amt.cnet> <20110522085732.GB1116@fermat.math.technion.ac.il> <4DDA81FD.5050203@redhat.com> <20110523185104.GA26899@fermat.math.technion.ac.il> <625BA99ED14B2D499DC4E29D8138F1505C9BEF07A9@shsmsx502.ccr.corp.intel.com> <20110524075656.GA26588@fermat.math.technion.ac.il> <625BA99ED14B2D499DC4E29D8138F1505C9BFA33FE@shsmsx502.ccr.corp.intel.com> <4DDB9105.9050900@redhat.com> <625BA99ED14B2D499DC4E29D8138F1505C9BFA34F7@shsmsx502.ccr.corp.intel.com> <4DDB9616.9010801@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT Cc: Nadav Har'El , Marcelo Tosatti , "kvm@vger.kernel.org" , "gleb@redhat.com" , "Roedel, Joerg" To: Avi Kivity Return-path: Received: from mga01.intel.com ([192.55.52.88]:9161 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754998Ab1EXLay convert rfc822-to-8bit (ORCPT ); Tue, 24 May 2011 07:30:54 -0400 In-Reply-To: <4DDB9616.9010801@redhat.com> Content-Language: en-US Sender: kvm-owner@vger.kernel.org List-ID: > From: Avi Kivity [mailto:avi@redhat.com] > Sent: Tuesday, May 24, 2011 7:27 PM > > On 05/24/2011 02:20 PM, Tian, Kevin wrote: > > > I don't think it's possible. Both calls are done with interrupts disabled. > > > > If that's the case then there's another potential issue. Deadlock may happen > > when calling smp_call_function_single with interrupt disabled. > > We don't do that. vcpu migration calls vcpu_clear() with interrupts > enabled, which then calls smp_call_function_single(), which calls > __vcpu_clear() with interrupts disabled. vmclear_local_vcpus() is > called from interrupts disabled (and calls __vcpu_clear() directly). > OK, that's clear to me now. Thanks Kevin