search for: vhost_net_set_backend_features

Displaying 9 results from an estimated 9 matches for "vhost_net_set_backend_features".

2020 Sep 09
0
[PATCH] vhost: new vhost_vdpa SET/GET_BACKEND_FEATURES handlers
...t; (2)SET_BACKEND_FEATURES was blindly added to vring ioctl instead > of vdpa device ioctl > > To resolve these issues, this commit (1)removed mutex operations > in vhost_set_backend_features. (2)Handle ioctl > SET/GET_BACKEND_FEATURES in vdpa ioctl. (3)introduce a new > function vhost_net_set_backend_features() for vhost_net, > which is a wrap of vhost_set_backend_features() with > necessary mutex lockings. > > Signed-off-by: Zhu Lingshan <lingshan.zhu at intel.com> So this patch touches not only vhost-vDPA. Though the function looks correct, I'd prefer you do cleanup on top of...
2018 Aug 03
4
[PATCH net-next] vhost: switch to use new message format
...+78,10 @@ enum { }; enum { + VHOST_NET_BACKEND_FEATURES = (1ULL << VHOST_BACKEND_F_IOTLB_MSG_V2) +}; + +enum { VHOST_NET_VQ_RX = 0, VHOST_NET_VQ_TX = 1, VHOST_NET_VQ_MAX = 2, @@ -1399,6 +1403,21 @@ static long vhost_net_reset_owner(struct vhost_net *n) return err; } +static int vhost_net_set_backend_features(struct vhost_net *n, u64 features) +{ + int i; + + mutex_lock(&n->dev.mutex); + for (i = 0; i < VHOST_NET_VQ_MAX; ++i) { + mutex_lock(&n->vqs[i].vq.mutex); + n->vqs[i].vq.acked_backend_features = features; + mutex_unlock(&n->vqs[i].vq.mutex); + } + mutex_unlock(&n-...
2018 Aug 03
4
[PATCH net-next] vhost: switch to use new message format
...+78,10 @@ enum { }; enum { + VHOST_NET_BACKEND_FEATURES = (1ULL << VHOST_BACKEND_F_IOTLB_MSG_V2) +}; + +enum { VHOST_NET_VQ_RX = 0, VHOST_NET_VQ_TX = 1, VHOST_NET_VQ_MAX = 2, @@ -1399,6 +1403,21 @@ static long vhost_net_reset_owner(struct vhost_net *n) return err; } +static int vhost_net_set_backend_features(struct vhost_net *n, u64 features) +{ + int i; + + mutex_lock(&n->dev.mutex); + for (i = 0; i < VHOST_NET_VQ_MAX; ++i) { + mutex_lock(&n->vqs[i].vq.mutex); + n->vqs[i].vq.acked_backend_features = features; + mutex_unlock(&n->vqs[i].vq.mutex); + } + mutex_unlock(&n-...
2018 Aug 03
0
[PATCH net-next] vhost: switch to use new message format
...URES = (1ULL << VHOST_BACKEND_F_IOTLB_MSG_V2) > +}; > + > +enum { > VHOST_NET_VQ_RX = 0, > VHOST_NET_VQ_TX = 1, > VHOST_NET_VQ_MAX = 2, > @@ -1399,6 +1403,21 @@ static long vhost_net_reset_owner(struct vhost_net *n) > return err; > } > > +static int vhost_net_set_backend_features(struct vhost_net *n, u64 features) > +{ > + int i; > + > + mutex_lock(&n->dev.mutex); > + for (i = 0; i < VHOST_NET_VQ_MAX; ++i) { > + mutex_lock(&n->vqs[i].vq.mutex); > + n->vqs[i].vq.acked_backend_features = features; > + mutex_unlock(&n->vqs[...
2018 Aug 06
1
[PATCH net-next V2] vhost: switch to use new message format
...+78,10 @@ enum { }; enum { + VHOST_NET_BACKEND_FEATURES = (1ULL << VHOST_BACKEND_F_IOTLB_MSG_V2) +}; + +enum { VHOST_NET_VQ_RX = 0, VHOST_NET_VQ_TX = 1, VHOST_NET_VQ_MAX = 2, @@ -1399,6 +1403,21 @@ static long vhost_net_reset_owner(struct vhost_net *n) return err; } +static int vhost_net_set_backend_features(struct vhost_net *n, u64 features) +{ + int i; + + mutex_lock(&n->dev.mutex); + for (i = 0; i < VHOST_NET_VQ_MAX; ++i) { + mutex_lock(&n->vqs[i].vq.mutex); + n->vqs[i].vq.acked_backend_features = features; + mutex_unlock(&n->vqs[i].vq.mutex); + } + mutex_unlock(&n-...
2020 Sep 08
0
[PATCH 1/2] vhost: remove mutex ops in vhost_set_backend_features
...wice > (first shown in vhost_vdpa_unlocked_ioctl), which can lead > to a dead lock issue. > This commit removed mutex operations in vhost_set_backend_features. > As a compensation for vhost_net, a followinig commit will add > needed mutex lock/unlock operations in a new function > vhost_net_set_backend_features() which is a wrap of > vhost_set_backend_features(). > > Signed-off-by: Zhu Lingshan <lingshan.zhu at intel.com> I think you need to squash these two or reorder, we can't first make code racy then fix it up. > --- > drivers/vhost/vhost.c | 2 -- > 1 file changed, 2 d...
2020 Sep 21
0
[PATCH 1/2] vhost: remove mutex ops in vhost_set_backend_features
...ocked_ioctl), which can lead > to a dead lock issue. > This commit removed mutex operations in vhost_set_backend_features. > As a compensation for vhost_net, a followinig commit will add > needed mutex lock/unlock operations in a new function > vhost_net_set_backend_features() which is a wrap of > vhost_set_backend_features(). > > Signed-off-by: Zhu Lingshan <lingshan.zhu at intel.com> > > I think you need to squash these two or reorder, we can't first > make code racy then fix it up. > > OK, I will send a V2...
2020 Jul 01
5
[PATCH 0/5]
Hi all: This series tries to support batched IOTLB updating vhost-vdpa. Currently vhost-vdpa accepts userspace mapping via IOTLB API, and it can only forward one mapping to IOMMU or device through IOMMU API or dma_map(). Though set_map() is designed to have the capability to pass an rbtree based mapping to vDPA device, it's still be called at least once for each VHOST_IOTLB_UPDATE or
2020 Jun 18
6
[PATCH RFC 0/5] support batched IOTLB updating in vhost-vdpa
Hi all: This series tries to support batched IOTLB updating vhost-vdpa. Currently vhost-vdpa accepts userspace mapping via IOTLB API, and it can only forward one mapping to IOMMU or device through IOMMU API or dma_map(). Though set_map() is deisgend to have the capability to pass an rbtree based mapping to vDPA device, it's still be called at least once for each VHOST_IOTLB_UPDATE or