[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] cxenstored: correct calculation of data/space in the ring

On Mon, Nov 16, 2015 at 06:09:54PM +0000, Ian Jackson wrote:
> Andrew Cooper writes ("Re: [PATCH] cxenstored: correct calculation of 
> data/space in the ring"):
> > On 16/11/15 18:01, Ian Jackson wrote:
> > > Wei Liu writes ("[PATCH] cxenstored: correct calculation of data/space in 
> > > the ring"):
> > >> The cxenstored implementation can't handle cross ring boundary read and
> > >> write. It gets aways with buggy behaviour because upper layer won't
> > >> sleep when short-write or short-read occurs.
> > > I don't understand why you think this is a bug.
> > 
> > It is exactly the same bug as I fixed in c/s 8a2c11f8
> > 
> > The short reads/writes themselves aren't inherently a problem.  They are
> > genuine signals that the server should wait for the client to
> > produce/consume more data.
> > 
> > However, the low level functions erroneously return a short read/write
> > when hitting the ring boundary when there is actually more space/data. 
> > This causes a protocol stall as the server incorrectly believes that the
> > client has the next action to perform.
> If I understand Wei correctly you are contradicting him.  The `upper
> layer' in question is inside the C xenstored so there is no protocol
> stall.

There is no protocol stall for now. But the code that controls whether
to sleep or not can change (however unlikely). And it would be hard to
debug such bug as the effort for debugging stubdom / oxenstored already

IMO short-writing and short-reading when there is still space / data is
a bug in its own right. We might as well just fix it before we get hit


> (I haven't peered at the code...)
> Ian.

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.