|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-devel
Re: [Xen-devel] Detecting deadlocks with hypervisor.. 
| 
From: Anthony Liguori <aliguori@xxxxxxxxxx>
To: T S <thileepan_@xxxxxxxxxxx>
CC: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] Detecting deadlocks with hypervisor..
Date: Fri, 24 Mar 2006 13:24:46 -0600
T S wrote:
 This may sound a silly question (pardon me because i am relatively new to 
linux kernel) .. will it be possible to continue running reboot.c (or for 
that matter any kernel thread) when the kernel is deadlocked ? In Linux, 
is the kernel a single process or a bunch of parallelly executing 
entities? If later, then during a kernel deadlock (eg: by loading a faulty 
module that disables interrupts and do something silly) there can still be 
some other processes/threads run, right?
 
Sorry for not making this more clear previously.  You cannot restore a 
dead-locked domain if a normal xm save doesn't work.  One thing that makes 
Xen unique is that guests actually are aware of what physical pages are 
assigned to them.  When one does a save/restore, the guest has to 
canonicalize all of it's internal references to physical pages.  When it's 
restored, it then remaps it's newly assigned physical pages to all the old 
places where it needed to know about them for some reason or another.
 
We took a look at the xc_linux_save() function ... and what we see is that
the canonicalize action is actually done by the Dom-0 (and not by the 
Dom-U);
Dom-0 is able to do this because it is able to access the page tables of 
Dom-U
as well as the pfn2mfn list of the Dom-U. Based on this, we think the Dom-0 
can
actually save the 'context' of the deadlocked Dom-U. Please correct me if 
this 
claim is wrong.
Also, given that Dom-0 can access the page tables and other structures of 
the deadlocked guest,
can one of you be able to tell me what changes I need to do to 
xm_linux_save( ) (and other related functions) to save the state of the 
deadlocked guest without doing any handshake with the guest OS ? 
thanks!
- T
 If the guest isn't responsive when you do a save, then it will never 
canonicalize itself and there is no way to restore the domain.
Regards,
Anthony Liguori
 
thanks
TS
 
If a suspend completes correctly, Xend will see it (another watch will 
fire), 
and xc_linux_save will be free to complete the save.
> Also, does it seem viable to clone a copy of a deadlocked guest OS in 
the 
> first place?
If you have a byte-for-byte copy of a deadlocked guest, even if you could
suspend it, surely it will be deadlocked when it is resumed.  How do you
intend to break the deadlock, and how is it easier to do that from 
outside 
than it is to perform deadlock detection in the guest?
Ewan.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! 
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 
_________________________________________________________________
Don?t just search. Find. Check out the new MSN Search! 
http://search.msn.click-url.com/go/onm00200636ave/direct/01/ 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 | 
 
| <Prev in Thread] | Current Thread | [Next in Thread> |  | 
Re: [Xen-devel] Detecting deadlocks with hypervisor..,
T S <=
 |  |  | 
  
    |  |  |