WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [PATCH] Re: [Xen-devel] Re: [PATCH 2/2] PV framebuffer

To: Keir Fraser <keir@xxxxxxxxxxxxx>
Subject: Re: [PATCH] Re: [Xen-devel] Re: [PATCH 2/2] PV framebuffer
From: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu, 14 Dec 2006 13:37:25 +0100
Cc: Atsushi SAKAI <sakaia@xxxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 14 Dec 2006 04:37:19 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <C1A6E645.60A4%keir@xxxxxxxxxxxxx> (Keir Fraser's message of "Thu, 14 Dec 2006 11:30:13 +0000")
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <C1A6E645.60A4%keir@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)
Keir Fraser <keir@xxxxxxxxxxxxx> writes:

> On 14/12/06 10:58, "Atsushi SAKAI" <sakaia@xxxxxxxxxxxxxx> wrote:
>
>>  I searched the code and found
>> the code in smp_call_function line337@linux/arch/ia64/kernel/smp.c
>>    WARN_ON(irqs_disabled());
>> 
>> The call trace problem caused by spin_lock_irqsave()
>> in xenfb_update_screen@linux/drivers/xen/fbfront/xenfb.c

Thanks for debugging this, Atsushi!

>> Why you need to use spin_lock_irqsave in xenfb_update()?
>> I understand the locking but why irqsave is required at this point?
>
> The lock is used in fb_ops, vm_ops and kthread contexts. None of these are
> executed in IRQ context so irqsave is not needed. I'll remove it. I'm not
> sure whether you can call zap_page_range() even with a spinlock held
> though...
>
>  -- Keir

You can't.  This was spotted just yesterday in our internal review.
I'm working on a fix.  If you could hold the removal of irqsave for a
bit, that would avoid merge conflicts.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>