[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/3] xen: ignore direction in bufioreq handling
From: |
Paul Durrant |
Subject: |
Re: [Qemu-devel] [PATCH 3/3] xen: ignore direction in bufioreq handling |
Date: |
Wed, 23 Nov 2016 09:55:03 +0000 |
> -----Original Message-----
> From: Jan Beulich [mailto:address@hidden
> Sent: 23 November 2016 09:25
> To: address@hidden
> Cc: Anthony Perard <address@hidden>; Paul Durrant
> <address@hidden>; Stefano Stabellini <address@hidden>; xen-
> devel <address@hidden>
> 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 <address@hidden>
Reviewed-by: Paul Durrant <address@hidden>
>
> --- 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);
>
>
- [Qemu-devel] [PATCH 1/3] xen: fix quad word bufioreq handling, (continued)
[Qemu-devel] [PATCH 2/3] xen: slightly simplify bufioreq handling, Jan Beulich, 2016/11/23
[Qemu-devel] [PATCH 3/3] xen: ignore direction in bufioreq handling, Jan Beulich, 2016/11/23
- Re: [Qemu-devel] [PATCH 3/3] xen: ignore direction in bufioreq handling,
Paul Durrant <=