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: [Xen-devel] RE: odd IRQ behavior

To: "Cihula, Joseph" <joseph.cihula@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] RE: odd IRQ behavior
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Fri, 27 Feb 2009 15:42:29 +0000
Cc:
Delivery-date: Fri, 27 Feb 2009 07:43:03 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4F65016F6CB04E49BFFA15D4F7B798D98D4BA47D@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
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/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcmYft/BQyNL3H4qSR26RJ7HKdFeNQAD2HZgAAwLpTwACmr6QAACeLwB
Thread-topic: [Xen-devel] RE: odd IRQ behavior
User-agent: Microsoft-Entourage/12.15.0.081119
On 27/02/2009 14:35, "Cihula, Joseph" <joseph.cihula@xxxxxxxxx> wrote:

>> Please provide some backtraces.
>> 
>>  -- Keir
> 
> Trace of assertion at shutdown entry:

Okay, the ASSERT(!in_irq()) crash on shutdown is due to having IPIed to the
BP to make it drive the shutdown. Hence the BP is actually in IRQ context.
If you then zero the IRQ counter, it will get decremented on exit from the
shutdown code (and the IPI interrupt) on S3 resume... Except I'm confused by
this because machine_restart() is not used for S3 suspend/resume. So
actually I'm not sure how you end up in IRQ context on S3 suspend, and you
didn't send a backtrace of that situation. To get to the BP on S3 suspend we
use continue_hypercall_on_cpu(), which does not leave us in IRQ context.

For the check_lock() assertion, either do not local_irq_disable() in
tboot_shutdown() (is that needed?) or perhaps even better (solves all the
crashes you've seen) why not disable paging before jumping into tboot and
hence avoid needing map_pages_to_xen()? I can't see why tboot would care to
run on our random pagetables, and implementing a stub to jump into / out of
non-paged mode would be very easy. I can explain more how to do this if this
is a suitable solution. Another alternative would be to map tboot pages
during boot and leave them mapped forever after. That also would avoid these
map_pages_to_xen() during S3/shutdown issues, and I suppose is easier than
implementing a return-to-no-paging stub.

 -- Keir



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

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