[dpdk-dev] [RFC 1/3] vhost: invalidate vring addresses in cleanup_vq()
Maxime Coquelin
maxime.coquelin at redhat.com
Tue Feb 27 12:44:08 CET 2018
Hi Jens,
On 02/27/2018 12:22 PM, Jens Freimann wrote:
> On Thu, Feb 22, 2018 at 07:19:08PM +0100, Maxime Coquelin wrote:
>> When cleaning-up the virtqueue, we also need to invalidate its
>> addresses to be sure outdated addresses won't be used later.
>>
>> Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
>> ---
>> lib/librte_vhost/vhost.c | 6 ++++--
>> lib/librte_vhost/vhost.h | 4 +++-
>> lib/librte_vhost/vhost_user.c | 2 +-
>> 3 files changed, 8 insertions(+), 4 deletions(-)
>>
>> diff --git a/lib/librte_vhost/vhost.c b/lib/librte_vhost/vhost.c
>> index f6f12a03b..e4281cf67 100644
>> --- a/lib/librte_vhost/vhost.c
>> +++ b/lib/librte_vhost/vhost.c
>> @@ -69,12 +69,14 @@ __vhost_iova_to_vva(struct virtio_net *dev, struct
>> vhost_virtqueue *vq,
>> }
>>
>> void
>> -cleanup_vq(struct vhost_virtqueue *vq, int destroy)
>> +cleanup_vq(struct virtio_net *dev, struct vhost_virtqueue *vq, int
>> destroy)
>> {
>> if ((vq->callfd >= 0) && (destroy != 0))
>> close(vq->callfd);
>> if (vq->kickfd >= 0)
>> close(vq->kickfd);
>> +
>> + vring_invalidate(dev, vq);
>> }
>>
>> /*
>> @@ -89,7 +91,7 @@ cleanup_device(struct virtio_net *dev, int destroy)
>> vhost_backend_cleanup(dev);
>>
>> for (i = 0; i < dev->nr_vring; i++)
>> - cleanup_vq(dev->virtqueue[i], destroy);
>> + cleanup_vq(dev, dev->virtqueue[i], destroy);
>> }
>>
>> void
>> diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
>> index 58aec2e0d..4ebf84bec 100644
>> --- a/lib/librte_vhost/vhost.h
>> +++ b/lib/librte_vhost/vhost.h
>> @@ -241,6 +241,7 @@ struct virtio_net {
>> struct guest_page *guest_pages;
>>
>> int slave_req_fd;
>> + uint8_t virtio_status;
>
> Belongs into other patch?
Oh, right! I squashed in wrong commit.
> Apart from that Reviewed-by: Jens Freimann <jfreimann at redhat.com>
Is your r-b for the full series or this single patch?
Thanks!
Maxime
> regards,
> Jens
More information about the dev
mailing list