From: Ian Campbell <Ian.Campbell@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Anthony Perard <anthony.perard@citrix.com>,
Samuel Thibault <samuel.thibault@ens-lyon.org>,
Steven Haigh <netwiz@crc.id.au>,
xen-devel@lists.xen.org
Subject: Re: vnc=1 / pvgrub / close fb: backend at /local/domain/0/backend/vfb/xx/0
Date: Wed, 22 Oct 2014 13:05:42 +0100 [thread overview]
Message-ID: <1413979542.19198.14.camel@citrix.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1410221250510.876@kaball.uk.xensource.com>
On Wed, 2014-10-22 at 12:57 +0100, Stefano Stabellini wrote:
> On Wed, 22 Oct 2014, Ian Campbell wrote:
> > On Wed, 2014-10-22 at 11:59 +0200, Samuel Thibault wrote:
> > > Ian Campbell, le Wed 22 Oct 2014 10:00:36 +0100, a écrit :
> > > > On Wed, 2014-10-22 at 08:24 +1100, Steven Haigh wrote:
> > > > > As a side note to this - if I use pygrub as a bootloader vs using
> > > > > pvgrub, then VNC works perfectly.
> > > > >
> > > > > So, what options exist to make pvgrub behave properly for booting with
> > > > > VNC enabled?
> > > >
> > > > ISTR (vaguely) that way back when the backends needed to be modified to
> > > > cope with kexec (which is effectively what pvgrub does) by not exiting
> > > > when the frontend disconnects, instead sticking around waiting for a new
> > > > frontend, this relates somehow to the "online" key in xenstore.
> > > >
> > > > Perhaps the pvfb backend never got that treatment, which would explain
> > > > #2?
> > >
> > > Probably, yes.
> >
> > Adding Stefano and Anthony, since the backend in this case is in qemu.
> >
> > When the frontend disconnects and the online node == 1 then the backend
> > is supposed to go from Closed back to InitWait and wait for a new
> > connection, as opposed to shutting down. This is needed for kexec (which
> > pvgrub uses).
> >
> > I can see some handling of the online node in hw/xen/xen_backend.c but
> > it doesn't look like it would do what is needed here. I also don't see
> > any handling in either hw/block/xen_disk.c or hw/display/xenfb.c. Which
> > makes me suspect that as well as pvfb not working with kexec/pvgrub
> > neither does the qdisk backend, which would be unfortunate.
>
> Looking at the code in xen_backend.c, it seems that on XenbusStateClosed
> xen_backend is going to try to reset to XenbusStateInitialising, unless
> the frontend state is XenbusStateInitialising (no idea why). See:
> xen_be_try_reset and xen_be_check_state.
>
> Maybe it should go to XenbusStateInitWait instead?
Possibly?
Doesn't xen_be_check_state do that though, i.e. once you hit
XenbusStateInitialising you have:
case XenbusStateInitialising:
rc = xen_be_try_init(xendev);
which will push on to XenbusStateInitWait?
There's quite a few xen_be_printf surrounding these state transitions,
which ought to be printed at level >= 2. How can Steven control the
loglevel and where would they go (/var/log/xen/qemu-dm-$domname.log?)
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2014-10-22 12:05 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-21 15:17 vnc=1 / pvgrub / close fb: backend at /local/domain/0/backend/vfb/xx/0 Steven Haigh
2014-10-21 21:24 ` Steven Haigh
2014-10-22 9:00 ` Ian Campbell
2014-10-22 9:59 ` Samuel Thibault
2014-10-22 10:10 ` Steven Haigh
2014-10-22 10:19 ` Samuel Thibault
2014-10-22 10:31 ` Ian Campbell
2014-10-22 10:45 ` Steven Haigh
2014-10-22 10:40 ` Ian Campbell
2014-10-22 11:57 ` Stefano Stabellini
2014-10-22 12:05 ` Ian Campbell [this message]
2014-10-22 12:13 ` Stefano Stabellini
2014-10-22 15:23 ` Steven Haigh
2014-10-22 15:40 ` Ian Campbell
2014-10-22 15:53 ` Steven Haigh
2014-10-23 8:21 ` Ian Campbell
2014-11-05 17:49 ` Stefano Stabellini
2014-11-06 9:49 ` Steven Haigh
2014-11-06 10:34 ` Stefano Stabellini
2014-11-06 11:05 ` Steven Haigh
2014-11-06 10:41 ` [PATCH] pvgrub: ignore NUL Stefano Stabellini
2014-11-06 11:39 ` Samuel Thibault
2014-11-06 15:43 ` Stefano Stabellini
2014-11-06 19:36 ` Konrad Rzeszutek Wilk
2014-11-06 23:13 ` Samuel Thibault
2014-11-10 12:20 ` Ian Campbell
2014-11-10 12:21 ` Ian Campbell
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=1413979542.19198.14.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=anthony.perard@citrix.com \
--cc=netwiz@crc.id.au \
--cc=samuel.thibault@ens-lyon.org \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xen.org \
/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.