search for: vhost_desc

Displaying 20 results from an estimated 67 matches for "vhost_desc".

2020 Jun 04
1
[PATCH RFC 07/13] vhost: format-independent API for used buffers
...q) >>> { >>> __u16 old, new; >>> diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h >>> index a67bda9792ec..6c10e99ff334 100644 >>> --- a/drivers/vhost/vhost.h >>> +++ b/drivers/vhost/vhost.h >>> @@ -67,6 +67,13 @@ struct vhost_desc { >>> u16 id; >>> }; >>> +struct vhost_buf { >>> + u32 out_len; >>> + u32 in_len; >>> + u16 descs; >>> + u16 id; >>> +}; >> So it looks to me the struct vhost_buf can work for both split ring and >> packed ri...
2020 Jun 03
2
[PATCH RFC 01/13] vhost: option to fetch descriptors through an independent struct
...eads) > + if (!vq->indirect || !vq->log || !vq->heads || !vq->descs) > goto err_nomem; > } > return 0; > @@ -2277,6 +2285,293 @@ int vhost_get_vq_desc(struct vhost_virtqueue *vq, > } > EXPORT_SYMBOL_GPL(vhost_get_vq_desc); > > +static struct vhost_desc *peek_split_desc(struct vhost_virtqueue *vq) > +{ > + BUG_ON(!vq->ndescs); > + return &vq->descs[vq->ndescs - 1]; > +} > + > +static void pop_split_desc(struct vhost_virtqueue *vq) > +{ > + BUG_ON(!vq->ndescs); > + --vq->ndescs; > +} > + > +#de...
2020 Jun 03
2
[PATCH RFC 01/13] vhost: option to fetch descriptors through an independent struct
...eads) > + if (!vq->indirect || !vq->log || !vq->heads || !vq->descs) > goto err_nomem; > } > return 0; > @@ -2277,6 +2285,293 @@ int vhost_get_vq_desc(struct vhost_virtqueue *vq, > } > EXPORT_SYMBOL_GPL(vhost_get_vq_desc); > > +static struct vhost_desc *peek_split_desc(struct vhost_virtqueue *vq) > +{ > + BUG_ON(!vq->ndescs); > + return &vq->descs[vq->ndescs - 1]; > +} > + > +static void pop_split_desc(struct vhost_virtqueue *vq) > +{ > + BUG_ON(!vq->ndescs); > + --vq->ndescs; > +} > + > +#de...
2020 Jan 07
6
vhost changes (batched) in linux-next after 12/13 trigger random crashes in KVM guests after reboot
...u fix that as well?). >>>>> >>>>> I'll try. >>>>> >>>>>> >>>>>> I get random crashes in my s390 KVM guests after reboot. >>>>>> Reverting both patches together with commit decd9b8 "vhost: use vhost_desc instead of vhost_log" to >>>>>> make it compile again) on top of linux-next-1218 makes the problem go away. >>>>>> >>>>>> Looks like the batched version is not yet ready for prime time. Can you drop these patches until >>>>>&...
2020 Jan 07
6
vhost changes (batched) in linux-next after 12/13 trigger random crashes in KVM guests after reboot
...u fix that as well?). >>>>> >>>>> I'll try. >>>>> >>>>>> >>>>>> I get random crashes in my s390 KVM guests after reboot. >>>>>> Reverting both patches together with commit decd9b8 "vhost: use vhost_desc instead of vhost_log" to >>>>>> make it compile again) on top of linux-next-1218 makes the problem go away. >>>>>> >>>>>> Looks like the batched version is not yet ready for prime time. Can you drop these patches until >>>>>&...
2020 Jun 03
2
[PATCH RFC 07/13] vhost: format-independent API for used buffers
...st_notify(struct vhost_dev *dev, struct vhost_virtqueue *vq) > { > __u16 old, new; > diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h > index a67bda9792ec..6c10e99ff334 100644 > --- a/drivers/vhost/vhost.h > +++ b/drivers/vhost/vhost.h > @@ -67,6 +67,13 @@ struct vhost_desc { > u16 id; > }; > > +struct vhost_buf { > + u32 out_len; > + u32 in_len; > + u16 descs; > + u16 id; > +}; So it looks to me the struct vhost_buf can work for both split ring and packed ring. If this is true, we'd better make struct vhost_desc work for bot...
2020 Jun 03
2
[PATCH RFC 07/13] vhost: format-independent API for used buffers
...st_notify(struct vhost_dev *dev, struct vhost_virtqueue *vq) > { > __u16 old, new; > diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h > index a67bda9792ec..6c10e99ff334 100644 > --- a/drivers/vhost/vhost.h > +++ b/drivers/vhost/vhost.h > @@ -67,6 +67,13 @@ struct vhost_desc { > u16 id; > }; > > +struct vhost_buf { > + u32 out_len; > + u32 in_len; > + u16 descs; > + u16 id; > +}; So it looks to me the struct vhost_buf can work for both split ring and packed ring. If this is true, we'd better make struct vhost_desc work for bot...
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
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
2020 Jun 02
0
[PATCH RFC 01/13] vhost: option to fetch descriptors through an independent struct
...- if (!vq->indirect || !vq->log || !vq->heads) + if (!vq->indirect || !vq->log || !vq->heads || !vq->descs) goto err_nomem; } return 0; @@ -2277,6 +2285,293 @@ int vhost_get_vq_desc(struct vhost_virtqueue *vq, } EXPORT_SYMBOL_GPL(vhost_get_vq_desc); +static struct vhost_desc *peek_split_desc(struct vhost_virtqueue *vq) +{ + BUG_ON(!vq->ndescs); + return &vq->descs[vq->ndescs - 1]; +} + +static void pop_split_desc(struct vhost_virtqueue *vq) +{ + BUG_ON(!vq->ndescs); + --vq->ndescs; +} + +#define VHOST_DESC_FLAGS (VRING_DESC_F_INDIRECT | VRING_DESC_F_...
2020 Apr 07
0
[PATCH v7 17/19] vhost: option to fetch descriptors through an independent struct
...- if (!vq->indirect || !vq->log || !vq->heads) + if (!vq->indirect || !vq->log || !vq->heads || !vq->descs) goto err_nomem; } return 0; @@ -2277,6 +2285,293 @@ int vhost_get_vq_desc(struct vhost_virtqueue *vq, } EXPORT_SYMBOL_GPL(vhost_get_vq_desc); +static struct vhost_desc *peek_split_desc(struct vhost_virtqueue *vq) +{ + BUG_ON(!vq->ndescs); + return &vq->descs[vq->ndescs - 1]; +} + +static void pop_split_desc(struct vhost_virtqueue *vq) +{ + BUG_ON(!vq->ndescs); + --vq->ndescs; +} + +#define VHOST_DESC_FLAGS (VRING_DESC_F_INDIRECT | VRING_DESC_F_...
2020 Apr 07
0
[PATCH v8 17/19] vhost: option to fetch descriptors through an independent struct
...- if (!vq->indirect || !vq->log || !vq->heads) + if (!vq->indirect || !vq->log || !vq->heads || !vq->descs) goto err_nomem; } return 0; @@ -2277,6 +2285,293 @@ int vhost_get_vq_desc(struct vhost_virtqueue *vq, } EXPORT_SYMBOL_GPL(vhost_get_vq_desc); +static struct vhost_desc *peek_split_desc(struct vhost_virtqueue *vq) +{ + BUG_ON(!vq->ndescs); + return &vq->descs[vq->ndescs - 1]; +} + +static void pop_split_desc(struct vhost_virtqueue *vq) +{ + BUG_ON(!vq->ndescs); + --vq->ndescs; +} + +#define VHOST_DESC_FLAGS (VRING_DESC_F_INDIRECT | VRING_DESC_F_...
2020 Jun 03
0
[PATCH RFC 01/13] vhost: option to fetch descriptors through an independent struct
...ndirect || !vq->log || !vq->heads || !vq->descs) > > goto err_nomem; > > } > > return 0; > > @@ -2277,6 +2285,293 @@ int vhost_get_vq_desc(struct vhost_virtqueue *vq, > > } > > EXPORT_SYMBOL_GPL(vhost_get_vq_desc); > > +static struct vhost_desc *peek_split_desc(struct vhost_virtqueue *vq) > > +{ > > + BUG_ON(!vq->ndescs); > > + return &vq->descs[vq->ndescs - 1]; > > +} > > + > > +static void pop_split_desc(struct vhost_virtqueue *vq) > > +{ > > + BUG_ON(!vq->ndescs); > &gt...
2019 Oct 11
0
[PATCH RFC v1 1/2] vhost: option to fetch descriptors through an independent struct
...- if (!vq->indirect || !vq->log || !vq->heads) + if (!vq->indirect || !vq->log || !vq->heads || !vq->descs) goto err_nomem; } return 0; @@ -2346,6 +2354,295 @@ int vhost_get_vq_desc(struct vhost_virtqueue *vq, } EXPORT_SYMBOL_GPL(vhost_get_vq_desc); +static struct vhost_desc *peek_split_desc(struct vhost_virtqueue *vq) +{ + BUG_ON(!vq->ndescs); + return &vq->descs[vq->ndescs - 1]; +} + +static void pop_split_desc(struct vhost_virtqueue *vq) +{ + BUG_ON(!vq->ndescs); + --vq->ndescs; +} + +static int push_split_desc(struct vhost_virtqueue *vq, struct v...
2019 Oct 12
2
[PATCH RFC v1 2/2] vhost: batching fetches
...h_descs = dev->iov_limit - UIO_MAXIOV; > vq->descs = kmalloc_array(vq->max_descs, > sizeof(*vq->descs), > GFP_KERNEL); > @@ -2366,6 +2368,8 @@ static void pop_split_desc(struct vhost_virtqueue *vq) > --vq->ndescs; > } > > +#define VHOST_DESC_FLAGS (VRING_DESC_F_INDIRECT | VRING_DESC_F_WRITE | \ > + VRING_DESC_F_NEXT) > static int push_split_desc(struct vhost_virtqueue *vq, struct vring_desc *desc, u16 id) > { > struct vhost_desc *h; > @@ -2375,7 +2379,7 @@ static int push_split_desc(struct vhost_virtqueue *vq,...
2019 Oct 12
2
[PATCH RFC v1 2/2] vhost: batching fetches
...h_descs = dev->iov_limit - UIO_MAXIOV; > vq->descs = kmalloc_array(vq->max_descs, > sizeof(*vq->descs), > GFP_KERNEL); > @@ -2366,6 +2368,8 @@ static void pop_split_desc(struct vhost_virtqueue *vq) > --vq->ndescs; > } > > +#define VHOST_DESC_FLAGS (VRING_DESC_F_INDIRECT | VRING_DESC_F_WRITE | \ > + VRING_DESC_F_NEXT) > static int push_split_desc(struct vhost_virtqueue *vq, struct vring_desc *desc, u16 id) > { > struct vhost_desc *h; > @@ -2375,7 +2379,7 @@ static int push_split_desc(struct vhost_virtqueue *vq,...
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 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 Dec 18
2
vhost changes (batched) in linux-next after 12/13 trigger random crashes in KVM guests after reboot
...fs/bisect/bad) Revert "vhost/net: add an option to test new code" to make things compile (your next tree is not easily bisectable, can you fix that as well?). I get random crashes in my s390 KVM guests after reboot. Reverting both patches together with commit decd9b8 "vhost: use vhost_desc instead of vhost_log" to make it compile again) on top of linux-next-1218 makes the problem go away. Looks like the batched version is not yet ready for prime time. Can you drop these patches until we have fixed the issues? Christian