[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] RE: Win2003R2 64 suspend failed in self live migration


  • To: "MaoXiaoyun" <tinnycloud@xxxxxxxxxxx>, "xen devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "James Harper" <james.harper@xxxxxxxxxxxxxxxx>
  • Date: Thu, 16 Jun 2011 09:20:04 +1000
  • Cc:
  • Delivery-date: Wed, 15 Jun 2011 16:20:35 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcwrVI/PPsf5AebdS7e5Oy5fBaDuswAXWf7Q
  • Thread-topic: Win2003R2 64 suspend failed in self live migration

> Hi James;
> 
>      I've been testing Windows HVM live migration for a while, OS type
covers
> 2003, and 2008.
>      It works well most of time. I mean migration been two physical
host.
>      But 2003R2 64 bit failed on self live migration. (VM migration on
the
> same host)
> 
>      After instal debug version PV driver inside VM, not debug log
show up.
>      Later I learnt that, in your code  you implied that the debug
routine
> could not be hooked since
>      "// can't patch IDT on AMD64 "(in xenpci_dbprint.c
XenPci_HookDbgPrint())
> 

Windows 2003 doesn't have an API for getting debug messages so I hook
the IDT, but under x64 PatchGuard monitors the IDT and causes a BSoD if
it detects a change. A program from SysInternals called DebugView can do
it so it must be possible but I've never figured out how.

>       I was able to get the log output simply by redefine the KdPrint
macro
> like below. But unfortunately
> , VM is suffuring hang now and then.
> 

As per my previous email, if you run out of stack space at a high IRQL
then windows can hang very hard - even the debugger won't work. I think
allocating 4KB of data on the stack (your char buf[4096]) might cause it
to run out.

You can allocate a global variable as long as you protect it with a
lock, as long as you know what you are doing with locks and IRQLs.
Alternatively you can allocate one buffer per CPU.

James

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.