From mboxrd@z Thu Jan 1 00:00:00 1970 From: Akio Takebe Subject: Re: hvm_set_callback_irq_level() deadlock? Date: Wed, 07 Jan 2009 21:58:58 +0900 Message-ID: <4964A712.30407@jp.fujitsu.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: xen-devel List-Id: xen-devel@lists.xenproject.org Keir Fraser wrote: > On 07/01/2009 10:22, "Akio Takebe" wrote: > >>> Doesn't vioapic_irq_positive_edge() clearly expect to be called with that >>> lock held? >> I concern about that vioapic_deliver() calls vcpu_kick(). If vcpu0 has the >> lock and >> vcpu1 cannot get lock and spin then vcpu0 sleep in another function, >> it may cause deadlock because vioapic_irq_positive_edge() may call >> vcpu_kick(). >> For example, the following function is OK? > > I still don't see the problem. You'll have to spell out a concrete example, > explaining where the two CPUs would be spinning and what state they're in > (i.e, why they are depending on each other, and why no progress can be > made). > I thought more. Sorry, I was wrong. Best Regards, Akio Takebe