[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3/3] xen: ignore direction in bufioreq handling
On Wed, 23 Nov 2016, Paul Durrant wrote: > > -----Original Message----- > > From: Jan Beulich [mailto:JBeulich@xxxxxxxx] > > Sent: 23 November 2016 09:25 > > To: qemu-devel@xxxxxxxxxx > > Cc: Anthony Perard <anthony.perard@xxxxxxxxxx>; Paul Durrant > > <Paul.Durrant@xxxxxxxxxx>; Stefano Stabellini <sstabellini@xxxxxxxxxx>; xen- > > devel <xen-devel@xxxxxxxxxxxxxxxxxxxx> > > Subject: [PATCH 3/3] xen: ignore direction in bufioreq handling > > > > There's no way to communicate back read data, so only writes can ever > > be usefully specified. Ignore the field, paving the road for eventually > > re-using the bit for something else in a few (many?) years time. > > > > Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> > > Reviewed-by: Paul Durrant <paul.durrant@xxxxxxxxxx> Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> > > > > --- a/xen-hvm.c > > +++ b/xen-hvm.c > > @@ -997,6 +997,7 @@ static int handle_buffered_iopage(XenIOS > > memset(&req, 0x00, sizeof(req)); > > req.state = STATE_IOREQ_READY; > > req.count = 1; > > + req.dir = IOREQ_WRITE; > > > > for (;;) { > > uint32_t rdptr = buf_page->read_pointer, wrptr; > > @@ -1014,7 +1015,6 @@ static int handle_buffered_iopage(XenIOS > > req.size = 1U << buf_req->size; > > req.addr = buf_req->addr; > > req.data = buf_req->data; > > - req.dir = buf_req->dir; > > req.type = buf_req->type; > > xen_rmb(); > > qw = (req.size == 8); > > @@ -1031,10 +1031,12 @@ static int handle_buffered_iopage(XenIOS > > handle_ioreq(state, &req); > > > > /* Only req.data may get updated by handle_ioreq(), albeit even > > that > > - * should not happen as such data would never make it to the guest. > > + * should not happen as such data would never make it to the guest > > (we > > + * can only usefully see writes here after all). > > */ > > assert(req.state == STATE_IOREQ_READY); > > assert(req.count == 1); > > + assert(req.dir == IOREQ_WRITE); > > assert(!req.data_is_ptr); > > > > atomic_add(&buf_page->read_pointer, qw + 1); > > > > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |