|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
Re: [Xen-devel] Detecting deadlocks with hypervisor..
 
Thileepan Subramaniam wrote:
 
Hello,
 I am trying to see if the hypervisor can be used to detect deadlocks 
in the guest VMs. My goal is to detect if a guest OS is deadlocked, 
and if it is, then create a clone of the deadlocked OS without the 
locking condition, and letting the clone run. While the clone runs I 
am hoping to generate some hints that could tell me what caused the 
deadlock.
 I simulated a deadlock/hang situation in a guest OS (by loading a 
badly written module to the kernel) and when the guestOS kernel was 
hanging, I ran "xm save" from Dom-0. But this command waits forever.
 I tried to follow the flow of the .py files (XendCheckpoint.py etc.). 
These seem to be called when I run 'xm save'. But beyond a point I am 
not sure what the python scripts do. I also see some libxc files such 
as xc_linux_save.c, but I am not sure who is using it (Dom-0 or Xen or 
the XenU). Can someone help me by explaining me what happens behind 
the scene when "xm save" is called ? Is there any good documentation 
explaining which actions are done by which layers (eg: python layer, C 
layer etc).
 Also, does it seem viable to clone a copy of a deadlocked guest OS in 
the first place?
 
 As Ewan pointed out, xm save is guest-assisted so a hung guest will not 
be savable.
 You may want to look at xc_domain_dumpcore().  You could do some 
post-analysis of the core dump to determine where it locked.  
Determining why it dead-locked is of course impossible for the general 
case but you may be able to develop some interesting heuristics with 
appropriate static analysis.
 As for recovering the guest, a really clever approach would be to 
rewrite some of the locking code (maybe temporarily?) by mapping the 
guest's code page into dom0's memory after examining EIP in the core.
 I reckon there's a rather interesting paper to be written on something 
like this :-)
Regards,
Anthony Liguori
 
thanks!
- ts
_________________________________________________________________
 On the road to retirement? Check out MSN Life Events for advice on how 
to get there! http://lifeevents.msn.com/category.aspx?cid=Retirement
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |   
 
 | 
    | 
  
  
    |   | 
    |