From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: Re: [PATCH] xenfb: Fix overzealous ring test Date: Mon, 18 Apr 2016 15:40:15 +0100 Message-ID: <20160418144015.GA26228@citrix.com> References: <1460983308-28000-1-git-send-email-samuel.thibault@ens-lyon.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Return-path: Content-Disposition: inline In-Reply-To: <1460983308-28000-1-git-send-email-samuel.thibault@ens-lyon.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Sender: "Qemu-devel" To: Samuel Thibault Cc: Anthony Perard , xen-devel@lists.xensource.com, Stefano Stabellini , Wei Liu , qemu-devel@nongnu.org List-Id: xen-devel@lists.xenproject.org On Mon, Apr 18, 2016 at 02:41:48PM +0200, Samuel Thibault wrote: > From: Wei Liu > > pv-grub booting got broken with recent qemu-xen, due to > ac0487e1d2ae811cd4d035741a109a4ecfb013f1 ('xenfb.c: avoid expensive loops > when prod <= out_cons') > > prod - out_cons can actually be XENFB_OUT_RING_LEN when the ring is exactly > full, this is a normal condition and should not be excluded. > > From: Wei Liu > Signed-off-by: Samuel Thibault > Tested-by: Hao Xudong Hi Samuel, This patch is already queued by Stefano. After it has been applied upstream we will backport it to our own tree. Wei. > --- > hw/display/xenfb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c > index 40b096a..9866dfd 100644 > --- a/hw/display/xenfb.c > +++ b/hw/display/xenfb.c > @@ -775,7 +775,7 @@ static void xenfb_handle_events(struct XenFB *xenfb) > > prod = page->out_prod; > out_cons = page->out_cons; > - if (prod - out_cons >= XENFB_OUT_RING_LEN) { > + if (prod - out_cons > XENFB_OUT_RING_LEN) { > return; > } > xen_rmb(); /* ensure we see ring contents up to prod */ > -- > 2.8.0.rc3 >