From: "Liu.yi" <liu.yi24@zte.com.cn>
To: xen-devel@lists.xensource.com
Subject: xm save -c problem
Date: Sun, 16 Dec 2012 01:29:51 -0800 (PST) [thread overview]
Message-ID: <1355650190976-5713082.post@n5.nabble.com> (raw)
hi,all
I have a winxpsp2 vm with gplpv driver installed. The problem is that
when I excute "xm save -c winxpsp2 save.bin", the command is excuted
successfully but the vm hang after issuing a disk operaton.
After installing gplpv debug driver, from the qemu log I found vbd
resume failed, after a while windows issues disk reset command, then vm
hang.
xm debug-keys shows as follows before "xm save -c":
(XEN) 1 [0/1]: s=3 n=0 d=0 p=72 x=1
(XEN) 2 [0/0]: s=3 n=0 d=0 p=71 x=0
(XEN) 3 [0/1]: s=2 n=0 d=0 x=0
(XEN) 4 [0/0]: s=6 n=0 x=0 // pdo_event_channel
(XEN) 5 [0/0]: s=2 n=0 d=0 x=0 // suspend_evtchn
(XEN) 6 [0/0]: s=3 n=0 d=0 p=73 x=0 // vbd-768 event-channel
(XEN) 7 [0/0]: s=3 n=0 d=0 p=74 x=0 // vif-0 event-channel
xm debug-keys shows as follows after "xm save -c":
(XEN) 1 [0/1]: s=3 n=0 d=0 p=72 x=1
(XEN) 2 [0/0]: s=3 n=0 d=0 p=71 x=0
(XEN) 3 [0/1]: s=2 n=0 d=0 x=0
(XEN) 4 [0/0]: s=6 n=0 x=0 // pdo_event_channel
(XEN) 5 [0/0]: s=2 n=0 d=0 x=0 // suspend_evtchn
(XEN) 6 [0/0]: s=6 n=0 x=0 // new pdo_event_channel
(XEN) 7 [0/0]: s=2 n=0 d=0 x=0 // new suspend_evtchn
(XEN) 8 [0/0]: s=3 n=0 d=0 p=? x=0 // new vbd-768 event-channel
// vif-0
resume don't start at all because resume hang at vbd
blkback and blkif driver seem free their event-channel in
unbind_from_irqhandler when suspending, so when gplpv driver resumes it
starts allocing event-channel from 6. The strange things is that gplpv
driver allocs new pdo_event_channel and suspend_evtchn (6 and 7), the
previous ones retain active.
I tried to unbind the old pdo_event_channel and suspend_evtchn, but
suspending vm hang. "xm save -c" wokrs if I reuse the old pdo_event_channel
and suspend_evtchn as follows:
in evtchn.c:EvtChn_Init()
KeInitializeEvent(&xpdd->pdo_suspend_event, SynchronizationEvent,
FALSE);
if (xpdd->pdo_event_channel == 0) {
KdPrint((__DRIVER_NAME " create new pdo_event_channel\n"));
xpdd->pdo_event_channel = EvtChn_AllocIpi(xpdd, 0);
}
in xenpci_fdo.c:XenPci_ConnectSuspendEvt()
if (xpdd->suspend_evtchn == 0) {
xpdd->suspend_evtchn = EvtChn_AllocUnbound(xpdd, 0);
KdPrint((__DRIVER_NAME " create new suspend event
channel\n"));
}
The qemu log show vbd and vif resume successfully, vm runs fine.
I'm not sure about these modifications to gplpv windows driver. I will
be grateful for any suggestions, thks.
--
View this message in context: http://xen.1045712.n5.nabble.com/xm-save-c-problem-tp5713082.html
Sent from the Xen - Dev mailing list archive at Nabble.com.
next reply other threads:[~2012-12-16 9:29 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-16 9:29 Liu.yi [this message]
2012-12-16 11:26 ` xm save -c problem Liu.yi
2012-12-16 12:46 ` xm save -c problem with GPLPV drivers and winxp Pasi Kärkkäinen
2012-12-17 21:23 ` Konrad Rzeszutek Wilk
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=1355650190976-5713082.post@n5.nabble.com \
--to=liu.yi24@zte.com.cn \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).