* xm save -c problem
@ 2012-12-16 9:29 Liu.yi
2012-12-16 11:26 ` Liu.yi
2012-12-16 12:46 ` xm save -c problem with GPLPV drivers and winxp Pasi Kärkkäinen
0 siblings, 2 replies; 4+ messages in thread
From: Liu.yi @ 2012-12-16 9:29 UTC (permalink / raw)
To: xen-devel
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.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: xm save -c problem
2012-12-16 9:29 xm save -c problem Liu.yi
@ 2012-12-16 11:26 ` Liu.yi
2012-12-16 12:46 ` xm save -c problem with GPLPV drivers and winxp Pasi Kärkkäinen
1 sibling, 0 replies; 4+ messages in thread
From: Liu.yi @ 2012-12-16 11:26 UTC (permalink / raw)
To: xen-devel
Unfortunately xm restore failed because when vm restores(resume)
xpdd->pdo_event_channel and xpdd->suspend_evtchn aren't 0.
EvtChn_Unbind and EvtChn_Close pdo_event_channel in EvtChn_Init when
xpdd->pdo_event_channel isn't 0;
EvtChn_Unbind and EvtChn_Close suspend_evtchn in
XenPci_ConnectSuspendEvt when xpdd->suspend_evtchn isn't 0;
After modifing pv driver as above, xm save -c and xm restore seems work
fine. Again, I'm not sure about these.
--
View this message in context: http://xen.1045712.n5.nabble.com/xm-save-c-problem-tp5713082p5713084.html
Sent from the Xen - Dev mailing list archive at Nabble.com.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: xm save -c problem with GPLPV drivers and winxp
2012-12-16 9:29 xm save -c problem Liu.yi
2012-12-16 11:26 ` Liu.yi
@ 2012-12-16 12:46 ` Pasi Kärkkäinen
2012-12-17 21:23 ` Konrad Rzeszutek Wilk
1 sibling, 1 reply; 4+ messages in thread
From: Pasi Kärkkäinen @ 2012-12-16 12:46 UTC (permalink / raw)
To: Liu.yi; +Cc: xen-devel
On Sun, Dec 16, 2012 at 01:29:51AM -0800, Liu.yi wrote:
> hi,all
Hello,
I added the important keywords to the subject..
-- Pasi
> 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.
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: xm save -c problem with GPLPV drivers and winxp
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
0 siblings, 0 replies; 4+ messages in thread
From: Konrad Rzeszutek Wilk @ 2012-12-17 21:23 UTC (permalink / raw)
To: Pasi Kärkkäinen, james.harper; +Cc: xen-devel, Liu.yi
On Sun, Dec 16, 2012 at 02:46:02PM +0200, Pasi Kärkkäinen wrote:
> On Sun, Dec 16, 2012 at 01:29:51AM -0800, Liu.yi wrote:
> > hi,all
>
> Hello,
>
> I added the important keywords to the subject..
>
> -- Pasi
>
> > 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.
> >
> >
> >
CC-ing the author of the driver (James).
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-12-17 21:23 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-16 9:29 xm save -c problem Liu.yi
2012-12-16 11:26 ` 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
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).