All of lore.kernel.org
 help / color / mirror / Atom feed
From: "James Harper" <james.harper@bendigoit.com.au>
To: MaoXiaoyun <tinnycloud@hotmail.com>,
	xen devel <xen-devel@lists.xensource.com>
Subject: RE: Win2003R2 64 suspend failed in self live migration
Date: Thu, 16 Jun 2011 09:20:04 +1000	[thread overview]
Message-ID: <AEC6C66638C05B468B556EA548C1A77D01D57A5D@trantor> (raw)
In-Reply-To: <BLU157-w269412E815CBCDF33B2A83DA6B0@phx.gbl>

> 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

  parent reply	other threads:[~2011-06-15 23:20 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <BAY0-MC4-F15zXiPuZe00229bef@bay0-mc4-f15.Bay0.hotmail.com>
2011-06-15 12:05 ` Win2003R2 64 suspend failed in self live migration MaoXiaoyun
2011-06-15 12:21   ` James Harper
2011-06-15 23:20   ` James Harper [this message]
2011-06-16 10:28     ` MaoXiaoyun
2011-06-16 14:24       ` PV resume failed after self migration failed MaoXiaoyun
2011-06-17  1:34         ` James Harper
2011-06-19 16:46           ` MaoXiaoyun
2011-06-19 23:11             ` James Harper
2011-06-21 12:13               ` MaoXiaoyun
2011-06-22  4:06                 ` James Harper
2011-06-22  5:21                   ` MaoXiaoyun
2011-06-22  5:58                     ` MaoXiaoyun
2011-06-24 10:32                       ` MaoXiaoyun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AEC6C66638C05B468B556EA548C1A77D01D57A5D@trantor \
    --to=james.harper@bendigoit.com.au \
    --cc=tinnycloud@hotmail.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.