On Tue, Apr 05, 2016 at 01:26:47AM +0000, Hao, Xudong wrote:
> > -----Original Message-----
> > From: Xen-devel [mailto:xen-devel-boun...@lists.xen.org] On Behalf Of Konrad
> > Rzeszutek Wilk
> > Sent: Friday, April 1, 2016 11:55 PM
> > To: Hao, Xudong <xudong....@intel.com>
> > Cc: samuel.thiba...@ens-lyon.org; xen-devel@lists.xen.org; Wei Liu
> > <wei.l...@citrix.com>; stefano.stabell...@eu.citrix.com
> > Subject: Re: [Xen-devel] pv-grub guest booting fail with recent qemu-xen
> > 
> > On Wed, Mar 30, 2016 at 02:05:28AM +0000, Hao, Xudong wrote:
> > > > -----Original Message-----
> > > > From: Wei Liu [mailto:wei.l...@citrix.com]
> > > > Sent: Wednesday, March 30, 2016 12:58 AM
> > > > To: Konrad Rzeszutek Wilk <konrad.w...@oracle.com>
> > > > Cc: Hao, Xudong <xudong....@intel.com>; wei.l...@citrix.com;
> > > > samuel.thiba...@ens-lyon.org; stefano.stabell...@eu.citrix.com; xen-
> > > > de...@lists.xen.org
> > > > Subject: Re: [Xen-devel] pv-grub guest booting fail with recent
> > > > qemu-xen
> > > >
> > > > On Mon, Mar 28, 2016 at 09:21:14AM -0400, Konrad Rzeszutek Wilk wrote:
> > > > > On Mon, Mar 28, 2016 at 02:03:35AM +0000, Hao, Xudong wrote:
> > > > > > > -----Original Message-----
> > > > > > > From: Xen-devel [mailto:xen-devel-boun...@lists.xen.org] On
> > > > > > > Behalf Of Konrad Rzeszutek Wilk
> > > > > > > Sent: Saturday, March 26, 2016 2:58 AM
> > > > > > > To: Hao, Xudong <xudong....@intel.com>
> > > > > > > Cc: stefano.stabell...@eu.citrix.com; xen-devel@lists.xen.org
> > > > > > > Subject: Re: [Xen-devel] pv-grub guest booting fail with
> > > > > > > recent qemu-xen
> > > > > > >
> > > > > > > On Wed, Mar 02, 2016 at 07:16:40AM +0000, Hao, Xudong wrote:
> > > > > > > > Hi,
> > > > > > > > For Xen upstream master branch with commit 1949868d, After
> > > > > > > > updating qemu-
> > > > > > > xen version from fcf6ac57 to 2ce1d30e, booting a pv-grub guest 
> > > > > > > will
> > fail.
> > > > >
> > > >
> > > > pv-grub should be using qemu-traditional, not qemu-xen
> > > >
> > >
> > > Never hear this limitation.
> > >
> > > > The log message you posted in your original post doesn't seem to reveal
> > much.
> > > > Can you have a look at relevant QEMU logs under /var/log/xen?
> > >
> > > There is not valuable qemu log, only one line: "qemu: terminating on 
> > > signal 1
> > from pid 36642".
> > >
> > > Bisect and the bad commit of qemu-xen is:
> > 
> > If you use PV-grub without the framebuffer does it boot?
> 
> How to disable framebuffer when VM booting.
> Reverted this patch, PV-grub guest boot successfully.
> 

It could be the frontend that's buggy. I think mini-os's fbfront might
aggressively overwrites prod without checking if there is space
available.

We should probably fix mini-os. On the other hand, can this check in
QEMU be improved a bit so that it accommodate buggy frontend? Anthony?

Wei.


> > 
> > 
> > >
> > > commit 2ce1d30ef2858dfed72a281872579e5a26b090dd
> > > Author: Stefano Stabellini <stefano.stabell...@eu.citrix.com>
> > > Date:   Wed Jan 6 16:32:22 2016 +0000
> > >
> > >     xenfb.c: avoid expensive loops when prod <= out_cons
> > >
> > >     If the frontend sets out_cons to a value higher than out_prod, it will
> > >     cause xenfb_handle_events to loop about 2^32 times. Avoid that by 
> > > using
> > >     better checks at the beginning of the function.
> > >
> > >     upstream-commit-id: ac0487e1d2ae811cd4d035741a109a4ecfb013f1
> > >
> > >     Signed-off-by: Stefano Stabellini <stefano.stabell...@eu.citrix.com>
> > >     Reported-by: Ling Liu <liuling...@360.cn>
> > >
> > > diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c index
> > > 4e2a27a..8eb3046 100644
> > > --- a/hw/display/xenfb.c
> > > +++ b/hw/display/xenfb.c
> > > @@ -789,8 +789,9 @@ static void xenfb_handle_events(struct XenFB
> > > *xenfb)
> > >
> > >      prod = page->out_prod;
> > >      out_cons = page->out_cons;
> > > -    if (prod == out_cons)
> > > -       return;
> > > +    if (prod - out_cons >= XENFB_OUT_RING_LEN) {
> > > +        return;
> > > +    }
> > >      xen_rmb();         /* ensure we see ring contents up to prod */
> > >      for (cons = out_cons; cons != prod; cons++) {
> > >         union xenfb_out_event *event = &XENFB_OUT_RING_REF(page,
> > > cons);
> > >
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to