[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XTF] xenbus: Don't wait if the response ring is full
> On 9. Jul 2020, at 20:46, Julien Grall <julien@xxxxxxx> wrote: > > > From: Julien Grall <jgrall@xxxxxxxxxx> > > XenStore response can be bigger than the response ring. In this case, > it is possible to have the ring full (e.g cons = 19 and prod = 1043). > > However, XTF will consider that there is no data and therefore wait for > more input. This will result to block indefinitely as the ring is full. > > This can be solved by avoiding to mask the difference between prod and > cons. > > Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx> > --- > common/xenbus.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/common/xenbus.c b/common/xenbus.c > index 24fff4872372..f3bb30ac693f 100644 > --- a/common/xenbus.c > +++ b/common/xenbus.c > @@ -75,7 +75,7 @@ static void xenbus_read(void *data, size_t len) > uint32_t prod = ACCESS_ONCE(xb_ring->rsp_prod); > uint32_t cons = ACCESS_ONCE(xb_ring->rsp_cons); > > - part = mask_xenbus_idx(prod - cons); > + part = prod - cons; > > /* No data? Kick xenstored and wait for it to produce some data. */ > if ( !part ) > — > 2.17.1 > Reviewed-by: Pawel Wieczorkiewicz <wipawel@xxxxxxxxx> Amazon Development Center Germany GmbH Krausenstr. 38 10117 Berlin Geschaeftsfuehrung: Christian Schlaeger, Jonathan Weiss Eingetragen am Amtsgericht Charlottenburg unter HRB 149173 B Sitz: Berlin Ust-ID: DE 289 237 879
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |