search for: vhost_get_vq_desc_batch

Displaying 20 results from an estimated 49 matches for "vhost_get_vq_desc_batch".

2020 Jan 07
2
vhost changes (batched) in linux-next after 12/13 trigger random crashes in KVM guests after reboot
...ectable. > > I pushed a new tag "batch-v2". > It's same code but with this bisect should get more information. I get the following with this tag drivers/vhost/net.c: In function ?vhost_net_tx_get_vq_desc?: drivers/vhost/net.c:574:7: error: implicit declaration of function ?vhost_get_vq_desc_batch?; did you mean ?vhost_get_vq_desc?? [-Werror=implicit-function-declaration] 574 | r = vhost_get_vq_desc_batch(tvq, tvq->iov, ARRAY_SIZE(tvq->iov), | ^~~~~~~~~~~~~~~~~~~~~~~ | vhost_get_vq_desc
2020 Jan 07
2
vhost changes (batched) in linux-next after 12/13 trigger random crashes in KVM guests after reboot
...ectable. > > I pushed a new tag "batch-v2". > It's same code but with this bisect should get more information. I get the following with this tag drivers/vhost/net.c: In function ?vhost_net_tx_get_vq_desc?: drivers/vhost/net.c:574:7: error: implicit declaration of function ?vhost_get_vq_desc_batch?; did you mean ?vhost_get_vq_desc?? [-Werror=implicit-function-declaration] 574 | r = vhost_get_vq_desc_batch(tvq, tvq->iov, ARRAY_SIZE(tvq->iov), | ^~~~~~~~~~~~~~~~~~~~~~~ | vhost_get_vq_desc
2020 Jan 07
6
vhost changes (batched) in linux-next after 12/13 trigger random crashes in KVM guests after reboot
...v2". >>> It's same code but with this bisect should get more information. >> >> I get the following with this tag >> >> drivers/vhost/net.c: In function ?vhost_net_tx_get_vq_desc?: >> drivers/vhost/net.c:574:7: error: implicit declaration of function ?vhost_get_vq_desc_batch?; did you mean ?vhost_get_vq_desc?? [-Werror=implicit-function-declaration] >> 574 | r = vhost_get_vq_desc_batch(tvq, tvq->iov, ARRAY_SIZE(tvq->iov), >> | ^~~~~~~~~~~~~~~~~~~~~~~ >> | vhost_get_vq_desc >> > > Not sure why but I pushed...
2020 Jan 07
6
vhost changes (batched) in linux-next after 12/13 trigger random crashes in KVM guests after reboot
...v2". >>> It's same code but with this bisect should get more information. >> >> I get the following with this tag >> >> drivers/vhost/net.c: In function ?vhost_net_tx_get_vq_desc?: >> drivers/vhost/net.c:574:7: error: implicit declaration of function ?vhost_get_vq_desc_batch?; did you mean ?vhost_get_vq_desc?? [-Werror=implicit-function-declaration] >> 574 | r = vhost_get_vq_desc_batch(tvq, tvq->iov, ARRAY_SIZE(tvq->iov), >> | ^~~~~~~~~~~~~~~~~~~~~~~ >> | vhost_get_vq_desc >> > > Not sure why but I pushed...
2019 Oct 11
8
[PATCH RFC v1 0/2] vhost: ring format independence
...ems to already perform exactly the same as the original code already based on a microbenchmark. More testing would be very much appreciated. Biggest TODO before this first step is ready to go in is to batch indirect descriptors as well. Integrating into vhost-net is basically s/vhost_get_vq_desc/vhost_get_vq_desc_batch/ - or add a module parameter like I did in the test module. Michael S. Tsirkin (2): vhost: option to fetch descriptors through an independent struct vhost: batching fetches drivers/vhost/test.c | 19 ++- drivers/vhost/vhost.c | 333 +++++++++++++++++++++++++++++++++++++++++- drivers/vhos...
2019 Oct 11
8
[PATCH RFC v1 0/2] vhost: ring format independence
...ems to already perform exactly the same as the original code already based on a microbenchmark. More testing would be very much appreciated. Biggest TODO before this first step is ready to go in is to batch indirect descriptors as well. Integrating into vhost-net is basically s/vhost_get_vq_desc/vhost_get_vq_desc_batch/ - or add a module parameter like I did in the test module. Michael S. Tsirkin (2): vhost: option to fetch descriptors through an independent struct vhost: batching fetches drivers/vhost/test.c | 19 ++- drivers/vhost/vhost.c | 333 +++++++++++++++++++++++++++++++++++++++++- drivers/vhos...
2019 Oct 12
2
[PATCH RFC v1 2/2] vhost: batching fetches
...+} > + > /* This looks in the virtqueue and for the first available buffer, and converts > * it to an iovec for convenient access. Since descriptors consist of some > * number of output then some number of input descriptors, it's actually two > @@ -2562,6 +2588,8 @@ int vhost_get_vq_desc_batch(struct vhost_virtqueue *vq, > if (ret) > return ret; > > + /* Note: indirect descriptors are not batched */ > + /* TODO: batch up to a limit */ > last = peek_split_desc(vq); > id = last->id; > > @@ -2584,12 +2612,12 @@ int vhost_get_vq_desc_batch(str...
2019 Oct 12
2
[PATCH RFC v1 2/2] vhost: batching fetches
...+} > + > /* This looks in the virtqueue and for the first available buffer, and converts > * it to an iovec for convenient access. Since descriptors consist of some > * number of output then some number of input descriptors, it's actually two > @@ -2562,6 +2588,8 @@ int vhost_get_vq_desc_batch(struct vhost_virtqueue *vq, > if (ret) > return ret; > > + /* Note: indirect descriptors are not batched */ > + /* TODO: batch up to a limit */ > last = peek_split_desc(vq); > id = last->id; > > @@ -2584,12 +2612,12 @@ int vhost_get_vq_desc_batch(str...
2020 Jun 10
2
[PATCH RFC v6 02/11] vhost: use batched get_vq_desc version
...actually two > @@ -2540,7 +2342,7 @@ static int fetch_descs(struct vhost_virtqueue *vq) > * This function returns the descriptor number found, or vq->num (which is > * never a valid descriptor number) if none was found. A negative code is > * returned on error. */ > -int vhost_get_vq_desc_batch(struct vhost_virtqueue *vq, > +int vhost_get_vq_desc(struct vhost_virtqueue *vq, > struct iovec iov[], unsigned int iov_size, > unsigned int *out_num, unsigned int *in_num, > struct vhost_log *log, unsigned int *log_num) > @@ -2549,7 +2351,7 @@ int vhost...
2020 Jun 10
2
[PATCH RFC v6 02/11] vhost: use batched get_vq_desc version
...actually two > @@ -2540,7 +2342,7 @@ static int fetch_descs(struct vhost_virtqueue *vq) > * This function returns the descriptor number found, or vq->num (which is > * never a valid descriptor number) if none was found. A negative code is > * returned on error. */ > -int vhost_get_vq_desc_batch(struct vhost_virtqueue *vq, > +int vhost_get_vq_desc(struct vhost_virtqueue *vq, > struct iovec iov[], unsigned int iov_size, > unsigned int *out_num, unsigned int *in_num, > struct vhost_log *log, unsigned int *log_num) > @@ -2549,7 +2351,7 @@ int vhost...
2019 Oct 13
6
[PATCH RFC v4 0/5] 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
2019 Oct 13
4
[PATCH RFC v3 0/4] 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
2019 Oct 12
2
[PATCH RFC v2 0/2] vhost: ring format independence
...This seems to perform exactly the same as the original code already based on a microbenchmark. More testing would be very much appreciated. Biggest TODO before this first step is ready to go in is to batch indirect descriptors as well. Integrating into vhost-net is basically s/vhost_get_vq_desc/vhost_get_vq_desc_batch/ - or add a module parameter like I did in the test module. Changes from v1: - typo fixes Michael S. Tsirkin (2): vhost: option to fetch descriptors through an independent struct vhost: batching fetches drivers/vhost/test.c | 19 ++- drivers/vhost/vhost.c | 333 +++++++++++++++++++++++++...
2020 Jan 07
0
vhost changes (batched) in linux-next after 12/13 trigger random crashes in KVM guests after reboot
...'s same code but with this bisect should get more information. > >> > >> I get the following with this tag > >> > >> drivers/vhost/net.c: In function ?vhost_net_tx_get_vq_desc?: > >> drivers/vhost/net.c:574:7: error: implicit declaration of function ?vhost_get_vq_desc_batch?; did you mean ?vhost_get_vq_desc?? [-Werror=implicit-function-declaration] > >> 574 | r = vhost_get_vq_desc_batch(tvq, tvq->iov, ARRAY_SIZE(tvq->iov), > >> | ^~~~~~~~~~~~~~~~~~~~~~~ > >> | vhost_get_vq_desc > >> > > >...
2020 Jun 11
0
[PATCH RFC v8 02/11] vhost: use batched get_vq_desc version
...input descriptors, it's actually two @@ -2540,7 +2338,7 @@ static int fetch_descs(struct vhost_virtqueue *vq) * This function returns the descriptor number found, or vq->num (which is * never a valid descriptor number) if none was found. A negative code is * returned on error. */ -int vhost_get_vq_desc_batch(struct vhost_virtqueue *vq, +int vhost_get_vq_desc(struct vhost_virtqueue *vq, struct iovec iov[], unsigned int iov_size, unsigned int *out_num, unsigned int *in_num, struct vhost_log *log, unsigned int *log_num) @@ -2549,7 +2347,7 @@ int vhost_get_vq_desc_batch(struct vh...
2020 Jun 08
0
[PATCH RFC v6 02/11] vhost: use batched get_vq_desc version
...input descriptors, it's actually two @@ -2540,7 +2342,7 @@ static int fetch_descs(struct vhost_virtqueue *vq) * This function returns the descriptor number found, or vq->num (which is * never a valid descriptor number) if none was found. A negative code is * returned on error. */ -int vhost_get_vq_desc_batch(struct vhost_virtqueue *vq, +int vhost_get_vq_desc(struct vhost_virtqueue *vq, struct iovec iov[], unsigned int iov_size, unsigned int *out_num, unsigned int *in_num, struct vhost_log *log, unsigned int *log_num) @@ -2549,7 +2351,7 @@ int vhost_get_vq_desc_batch(struct vh...
2020 Jun 10
0
[PATCH RFC v6 02/11] vhost: use batched get_vq_desc version
...-2540,7 +2342,7 @@ static int fetch_descs(struct vhost_virtqueue *vq) > > * This function returns the descriptor number found, or vq->num (which is > > * never a valid descriptor number) if none was found. A negative code is > > * returned on error. */ > > -int vhost_get_vq_desc_batch(struct vhost_virtqueue *vq, > > +int vhost_get_vq_desc(struct vhost_virtqueue *vq, > > struct iovec iov[], unsigned int iov_size, > > unsigned int *out_num, unsigned int *in_num, > > struct vhost_log *log, unsigned int *log_num) > > @@ -25...
2019 Oct 11
0
[vhost:vhost 6/6] drivers/vhost/vhost.c:2672:9: error: 'desc' undeclared; did you mean 'rdtsc'?
...a2f43b200cb2d65a218237ed # save the attached .config to linux build tree make ARCH=x86_64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp at intel.com> All errors (new ones prefixed by >>): drivers/vhost/vhost.c: In function 'vhost_get_vq_desc_batch': >> drivers/vhost/vhost.c:2672:9: error: 'desc' undeclared (first use in this function); did you mean 'rdtsc'? if (!(desc->flags & VRING_DESC_F_NEXT)) ^~~~ rdtsc drivers/vhost/vhost.c:2672:9: note: each undeclared identifier is repo...
2019 Oct 11
0
[vhost:vhost 6/6] drivers/vhost/vhost.c:2672:9: error: 'desc' undeclared
...ed # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=mips If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp at intel.com> All errors (new ones prefixed by >>): drivers/vhost/vhost.c: In function 'vhost_get_vq_desc_batch': >> drivers/vhost/vhost.c:2672:9: error: 'desc' undeclared (first use in this function) if (!(desc->flags & VRING_DESC_F_NEXT)) ^~~~ drivers/vhost/vhost.c:2672:9: note: each undeclared identifier is reported only once for each function it appears in v...
2019 Oct 11
0
[PATCH RFC v1 2/2] vhost: batching fetches
...urn vq->ndescs ? 0 : ret; +} + /* This looks in the virtqueue and for the first available buffer, and converts * it to an iovec for convenient access. Since descriptors consist of some * number of output then some number of input descriptors, it's actually two @@ -2562,6 +2588,8 @@ int vhost_get_vq_desc_batch(struct vhost_virtqueue *vq, if (ret) return ret; + /* Note: indirect descriptors are not batched */ + /* TODO: batch up to a limit */ last = peek_split_desc(vq); id = last->id; @@ -2584,12 +2612,12 @@ int vhost_get_vq_desc_batch(struct vhost_virtqueue *vq, if (unlikely(log)) *l...