From: Wei Liu <wei.liu2@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
Wei Liu <wei.liu2@citrix.com>,
Ian Campbell <ian.campbell@citrix.com>,
Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] cxenstored: correct calculation of data/space in the ring
Date: Mon, 16 Nov 2015 18:36:01 +0000 [thread overview]
Message-ID: <20151116183601.GD25764@citrix.com> (raw)
In-Reply-To: <22090.7154.132658.175769@mariner.uk.xensource.com>
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
demonstrated.
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
again.
Wei.
> (I haven't peered at the code...)
>
> Ian.
next prev parent reply other threads:[~2015-11-16 18:36 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-16 12:53 [PATCH] cxenstored: correct calculation of data/space in the ring Wei Liu
2015-11-16 18:01 ` Ian Jackson
2015-11-16 18:06 ` Andrew Cooper
2015-11-16 18:09 ` Ian Jackson
2015-11-16 18:36 ` Wei Liu [this message]
2015-11-24 16: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=20151116183601.GD25764@citrix.com \
--to=wei.liu2@citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=ian.campbell@citrix.com \
--cc=xen-devel@lists.xenproject.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.