search for: 36ca2cf419bf

Displaying 20 results from an estimated 23 matches for "36ca2cf419bf".

2019 Oct 12
2
[PATCH RFC v1 1/2] vhost: option to fetch descriptors through an independent struct
...(vq, vq->iov, > + ARRAY_SIZE(vq->iov), > + &out, &in, > + NULL, NULL); > /* On error, stop handling until the next kick. */ > if (unlikely(head < 0)) > break; > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > index 36ca2cf419bf..36661d6cb51f 100644 > --- a/drivers/vhost/vhost.c > +++ b/drivers/vhost/vhost.c > @@ -301,6 +301,7 @@ static void vhost_vq_reset(struct vhost_dev *dev, > struct vhost_virtqueue *vq) > { > vq->num = 1; > + vq->ndescs = 0; > vq->desc = NULL; > v...
2019 Oct 12
2
[PATCH RFC v1 1/2] vhost: option to fetch descriptors through an independent struct
...(vq, vq->iov, > + ARRAY_SIZE(vq->iov), > + &out, &in, > + NULL, NULL); > /* On error, stop handling until the next kick. */ > if (unlikely(head < 0)) > break; > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > index 36ca2cf419bf..36661d6cb51f 100644 > --- a/drivers/vhost/vhost.c > +++ b/drivers/vhost/vhost.c > @@ -301,6 +301,7 @@ static void vhost_vq_reset(struct vhost_dev *dev, > struct vhost_virtqueue *vq) > { > vq->num = 1; > + vq->ndescs = 0; > vq->desc = NULL; > v...
2019 Oct 14
2
[PATCH RFC v1 1/2] vhost: option to fetch descriptors through an independent struct
...gt;> + &out, &in, >>> + NULL, NULL); >>> /* On error, stop handling until the next kick. */ >>> if (unlikely(head < 0)) >>> break; >>> diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c >>> index 36ca2cf419bf..36661d6cb51f 100644 >>> --- a/drivers/vhost/vhost.c >>> +++ b/drivers/vhost/vhost.c >>> @@ -301,6 +301,7 @@ static void vhost_vq_reset(struct vhost_dev *dev, >>> struct vhost_virtqueue *vq) >>> { >>> vq->num = 1; >>>...
2019 Oct 14
2
[PATCH RFC v1 1/2] vhost: option to fetch descriptors through an independent struct
...gt;> + &out, &in, >>> + NULL, NULL); >>> /* On error, stop handling until the next kick. */ >>> if (unlikely(head < 0)) >>> break; >>> diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c >>> index 36ca2cf419bf..36661d6cb51f 100644 >>> --- a/drivers/vhost/vhost.c >>> +++ b/drivers/vhost/vhost.c >>> @@ -301,6 +301,7 @@ static void vhost_vq_reset(struct vhost_dev *dev, >>> struct vhost_virtqueue *vq) >>> { >>> vq->num = 1; >>>...
2019 Oct 03
1
[PATCH 07/11] vhost: convert vhost_umem_interval_tree to half closed intervals
...alization at lists.linux-foundation.org Signed-off-by: Davidlohr Bueso <dbueso at suse.de> --- drivers/vhost/vhost.c | 19 +++++++++---------- drivers/vhost/vhost.h | 4 ++-- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 36ca2cf419bf..80c3cca24dc7 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -28,7 +28,7 @@ #include <linux/sort.h> #include <linux/sched/mm.h> #include <linux/sched/signal.h> -#include <linux/interval_tree_generic.h> +#include <linux/interval_tree_gen.h> #inclu...
2019 Oct 18
2
read_barrier_depends() usage in vhost.c
...n there must be a concurrent access involved, in which case READ_ONCE should also be used. So I would propose something like the diff below, but I'd still be glad to hear whether I'm barking up the wrong tree. Will --->8 diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 36ca2cf419bf..2e370a229fea 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -2107,6 +2107,7 @@ static int get_indirect(struct vhost_virtqueue *vq, { struct vring_desc desc; unsigned int i = 0, count, found = 0; + __virtio64 addr = READ_ONCE(indirect->addr); u32 len = vhost32_to_cpu(vq...
2019 Oct 18
2
read_barrier_depends() usage in vhost.c
...n there must be a concurrent access involved, in which case READ_ONCE should also be used. So I would propose something like the diff below, but I'd still be glad to hear whether I'm barking up the wrong tree. Will --->8 diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 36ca2cf419bf..2e370a229fea 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -2107,6 +2107,7 @@ static int get_indirect(struct vhost_virtqueue *vq, { struct vring_desc desc; unsigned int i = 0, count, found = 0; + __virtio64 addr = READ_ONCE(indirect->addr); u32 len = vhost32_to_cpu(vq...
2019 Oct 17
0
[PATCH RFC 3/3] vhost, kcov: collect coverage from vhost_worker
...ations. > > Signed-off-by: Andrey Konovalov <andreyknvl at google.com> > --- > drivers/vhost/vhost.c | 15 +++++++++++++++ > drivers/vhost/vhost.h | 3 +++ > 2 files changed, 18 insertions(+) > > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > index 36ca2cf419bf..71a349f6b352 100644 > --- a/drivers/vhost/vhost.c > +++ b/drivers/vhost/vhost.c > @@ -357,7 +357,13 @@ static int vhost_worker(void *data) > llist_for_each_entry_safe(work, work_next, node, node) { > clear_bit(VHOST_WORK_QUEUED, &work->flags); > __set_current_st...
2019 Oct 17
0
[PATCH RFC 3/3] vhost, kcov: collect coverage from vhost_worker
...google.com> > > > --- > > > drivers/vhost/vhost.c | 15 +++++++++++++++ > > > drivers/vhost/vhost.h | 3 +++ > > > 2 files changed, 18 insertions(+) > > > > > > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > > > index 36ca2cf419bf..71a349f6b352 100644 > > > --- a/drivers/vhost/vhost.c > > > +++ b/drivers/vhost/vhost.c > > > @@ -357,7 +357,13 @@ static int vhost_worker(void *data) > > > llist_for_each_entry_safe(work, work_next, node, node) { > > >...
2019 Oct 23
0
[PATCH 3/3] vhost, kcov: collect coverage from vhost_worker
...m vhost worker threads. > > Signed-off-by: Andrey Konovalov <andreyknvl at google.com> > --- > drivers/vhost/vhost.c | 6 ++++++ > drivers/vhost/vhost.h | 1 + > 2 files changed, 7 insertions(+) > > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > index 36ca2cf419bf..a5a557c4b67f 100644 > --- a/drivers/vhost/vhost.c > +++ b/drivers/vhost/vhost.c > @@ -30,6 +30,7 @@ > #include <linux/sched/signal.h> > #include <linux/interval_tree_generic.h> > #include <linux/nospec.h> > +#include <linux/kcov.h> > > #includ...
2019 Oct 23
0
[PATCH 3/3] vhost, kcov: collect coverage from vhost_worker
...andreyknvl at google.com> > > > --- > > > drivers/vhost/vhost.c | 6 ++++++ > > > drivers/vhost/vhost.h | 1 + > > > 2 files changed, 7 insertions(+) > > > > > > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > > > index 36ca2cf419bf..a5a557c4b67f 100644 > > > --- a/drivers/vhost/vhost.c > > > +++ b/drivers/vhost/vhost.c > > > @@ -30,6 +30,7 @@ > > > #include <linux/sched/signal.h> > > > #include <linux/interval_tree_generic.h> > > > #include <linux/nospec....
2019 Oct 12
0
[PATCH RFC v1 1/2] vhost: option to fetch descriptors through an independent struct
..._SIZE(vq->iov), > > + &out, &in, > > + NULL, NULL); > > /* On error, stop handling until the next kick. */ > > if (unlikely(head < 0)) > > break; > > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > > index 36ca2cf419bf..36661d6cb51f 100644 > > --- a/drivers/vhost/vhost.c > > +++ b/drivers/vhost/vhost.c > > @@ -301,6 +301,7 @@ static void vhost_vq_reset(struct vhost_dev *dev, > > struct vhost_virtqueue *vq) > > { > > vq->num = 1; > > + vq->ndescs = 0; &g...
2019 Oct 15
0
[PATCH RFC v1 1/2] vhost: option to fetch descriptors through an independent struct
...t; > > + NULL, NULL); > > > > /* On error, stop handling until the next kick. */ > > > > if (unlikely(head < 0)) > > > > break; > > > > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > > > > index 36ca2cf419bf..36661d6cb51f 100644 > > > > --- a/drivers/vhost/vhost.c > > > > +++ b/drivers/vhost/vhost.c > > > > @@ -301,6 +301,7 @@ static void vhost_vq_reset(struct vhost_dev *dev, > > > > struct vhost_virtqueue *vq) > > > > { > >...
2019 Oct 21
0
read_barrier_depends() usage in vhost.c
...ed, in which case READ_ONCE should also be used. So I would propose > something like the diff below, but I'd still be glad to hear whether I'm > barking up the wrong tree. > > Will > > --->8 > > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > index 36ca2cf419bf..2e370a229fea 100644 > --- a/drivers/vhost/vhost.c > +++ b/drivers/vhost/vhost.c > @@ -2107,6 +2107,7 @@ static int get_indirect(struct vhost_virtqueue *vq, > { > struct vring_desc desc; > unsigned int i = 0, count, found = 0; > + __virtio64 addr = READ_ONCE(indirect-&g...
2019 Oct 16
4
read_barrier_depends() usage in vhost.c
Hi all, In an attempt to remove the remaining traces of [smp_]read_barrier_depends() following my previous patches to strengthen READ_ONCE() for Alpha [1], I ended up trying to decipher the read_barrier_depends() usage in the vhost driver: --->8 // drivers/vhost/vhost.c static int get_indirect(struct vhost_virtqueue *vq, struct iovec iov[], unsigned int iov_size, unsigned int *out_num,
2019 Oct 16
4
read_barrier_depends() usage in vhost.c
Hi all, In an attempt to remove the remaining traces of [smp_]read_barrier_depends() following my previous patches to strengthen READ_ONCE() for Alpha [1], I ended up trying to decipher the read_barrier_depends() usage in the vhost driver: --->8 // drivers/vhost/vhost.c static int get_indirect(struct vhost_virtqueue *vq, struct iovec iov[], unsigned int iov_size, unsigned int *out_num,
2019 Oct 11
0
[PATCH RFC v1 1/2] vhost: option to fetch descriptors through an independent struct
...NULL); + else + head = vhost_get_vq_desc(vq, vq->iov, + ARRAY_SIZE(vq->iov), + &out, &in, + NULL, NULL); /* On error, stop handling until the next kick. */ if (unlikely(head < 0)) break; diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 36ca2cf419bf..36661d6cb51f 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -301,6 +301,7 @@ static void vhost_vq_reset(struct vhost_dev *dev, struct vhost_virtqueue *vq) { vq->num = 1; + vq->ndescs = 0; vq->desc = NULL; vq->avail = NULL; vq->used = NULL; @@ -369,...
2019 Oct 11
8
[PATCH RFC v1 0/2] vhost: ring format independence
So the idea is as follows: we convert descriptors to an independent format first, and process that converting to iov later. The point is that we have a tight loop that fetches descriptors, which is good for cache utilization. This will also allow all kind of batching tricks - e.g. it seems possible to keep SMAP disabled while we are fetching multiple descriptors. And perhaps more importantly,
2019 Oct 11
8
[PATCH RFC v1 0/2] vhost: ring format independence
So the idea is as follows: we convert descriptors to an independent format first, and process that converting to iov later. The point is that we have a tight loop that fetches descriptors, which is good for cache utilization. This will also allow all kind of batching tricks - e.g. it seems possible to keep SMAP disabled while we are fetching multiple descriptors. And perhaps more importantly,
2019 Oct 12
2
[PATCH RFC v2 0/2] vhost: ring format independence
This adds infrastructure required for supporting multiple ring formats. The idea is as follows: we convert descriptors to an independent format first, and process that converting to iov later. The point is that we have a tight loop that fetches descriptors, which is good for cache utilization. This will also allow all kind of batching tricks - e.g. it seems possible to keep SMAP disabled while