Displaying 15 results from an estimated 15 matches for "vhost_vdpa_ida".
2020 Jul 20
1
[PATCH] vhost: vdpa: remove per device feature whitelist
...; VIRTIO_NET_F_HOST_UFO) |
- (1ULL << VIRTIO_NET_F_MRG_RXBUF) |
- (1ULL << VIRTIO_NET_F_STATUS) |
- (1ULL << VIRTIO_NET_F_SPEED_DUPLEX),
-};
-
/* Currently, only network backend w/o multiqueue is supported. */
#define VHOST_VDPA_VQ_MAX 2
@@ -79,10 +50,6 @@ static DEFINE_IDA(vhost_vdpa_ida);
static dev_t vhost_vdpa_major;
-static const u64 vhost_vdpa_features[] = {
- [VIRTIO_ID_NET] = VHOST_VDPA_NET_FEATURES,
-};
-
static void handle_vq_kick(struct vhost_work *work)
{
struct vhost_virtqueue *vq = container_of(work, struct vhost_virtqueue,
@@ -255,7 +222,6 @@ static long vhos...
2020 Apr 26
1
[PATCH 1/2] vdpa: Support config interrupt in vhost_vdpa
...t;linux/virtio_net.h>
> +#include <linux/kernel.h>
>
> #include "vhost.h"
>
> @@ -70,6 +71,7 @@ struct vhost_vdpa {
> int nvqs;
> int virtio_id;
> int minor;
> + struct eventfd_ctx *config_ctx;
> };
>
> static DEFINE_IDA(vhost_vdpa_ida);
> @@ -101,6 +103,17 @@ static irqreturn_t vhost_vdpa_virtqueue_cb(void *private)
> return IRQ_HANDLED;
> }
>
> +static irqreturn_t vhost_vdpa_config_cb(void *private)
> +{
> + struct vhost_vdpa *v = private;
> + struct eventfd_ctx *config_ctx = v->config_ctx;
&g...
2020 Jun 28
2
[PATCH RFC 4/5] vhost-vdpa: support IOTLB batching hints
...OST_BACKEND_F_IOTLB_BATCH),
> };
>
> /* Currently, only network backend w/o multiqueue is supported. */
> @@ -77,6 +79,7 @@ struct vhost_vdpa {
> int virtio_id;
> int minor;
> struct eventfd_ctx *config_ctx;
> + int in_batch;
> };
>
> static DEFINE_IDA(vhost_vdpa_ida);
> @@ -125,6 +128,7 @@ static void vhost_vdpa_reset(struct vhost_vdpa *v)
> const struct vdpa_config_ops *ops = vdpa->config;
>
> ops->set_status(vdpa, 0);
> + v->in_batch = 0;
> }
>
> static long vhost_vdpa_get_device_id(struct vhost_vdpa *v, u8 __user *...
2020 Jun 28
2
[PATCH RFC 4/5] vhost-vdpa: support IOTLB batching hints
...OST_BACKEND_F_IOTLB_BATCH),
> };
>
> /* Currently, only network backend w/o multiqueue is supported. */
> @@ -77,6 +79,7 @@ struct vhost_vdpa {
> int virtio_id;
> int minor;
> struct eventfd_ctx *config_ctx;
> + int in_batch;
> };
>
> static DEFINE_IDA(vhost_vdpa_ida);
> @@ -125,6 +128,7 @@ static void vhost_vdpa_reset(struct vhost_vdpa *v)
> const struct vdpa_config_ops *ops = vdpa->config;
>
> ops->set_status(vdpa, 0);
> + v->in_batch = 0;
> }
>
> static long vhost_vdpa_get_device_id(struct vhost_vdpa *v, u8 __user *...
2020 Apr 26
3
[PATCH V2 1/2] vdpa: Support config interrupt in vhost_vdpa
...t;linux/virtio_net.h>
> +#include <linux/kernel.h>
>
> #include "vhost.h"
>
> @@ -70,6 +71,7 @@ struct vhost_vdpa {
> int nvqs;
> int virtio_id;
> int minor;
> + struct eventfd_ctx *config_ctx;
> };
>
> static DEFINE_IDA(vhost_vdpa_ida);
> @@ -101,6 +103,17 @@ static irqreturn_t vhost_vdpa_virtqueue_cb(void *private)
> return IRQ_HANDLED;
> }
>
> +static irqreturn_t vhost_vdpa_config_cb(void *private)
> +{
> + struct vhost_vdpa *v = private;
> + struct eventfd_ctx *config_ctx = v->config_ctx;
&g...
2020 Apr 26
3
[PATCH V2 1/2] vdpa: Support config interrupt in vhost_vdpa
...t;linux/virtio_net.h>
> +#include <linux/kernel.h>
>
> #include "vhost.h"
>
> @@ -70,6 +71,7 @@ struct vhost_vdpa {
> int nvqs;
> int virtio_id;
> int minor;
> + struct eventfd_ctx *config_ctx;
> };
>
> static DEFINE_IDA(vhost_vdpa_ida);
> @@ -101,6 +103,17 @@ static irqreturn_t vhost_vdpa_virtqueue_cb(void *private)
> return IRQ_HANDLED;
> }
>
> +static irqreturn_t vhost_vdpa_config_cb(void *private)
> +{
> + struct vhost_vdpa *v = private;
> + struct eventfd_ctx *config_ctx = v->config_ctx;
&g...
2020 Jun 29
1
[PATCH RFC 4/5] vhost-vdpa: support IOTLB batching hints
...network backend w/o multiqueue is supported. */
> > > @@ -77,6 +79,7 @@ struct vhost_vdpa {
> > > int virtio_id;
> > > int minor;
> > > struct eventfd_ctx *config_ctx;
> > > + int in_batch;
> > > };
> > > static DEFINE_IDA(vhost_vdpa_ida);
> > > @@ -125,6 +128,7 @@ static void vhost_vdpa_reset(struct vhost_vdpa *v)
> > > const struct vdpa_config_ops *ops = vdpa->config;
> > > ops->set_status(vdpa, 0);
> > > + v->in_batch = 0;
> > > }
> > > static long vhost_vd...
2020 Apr 26
0
[PATCH V3 1/2] vdpa: Support config interrupt in vhost_vdpa
...t;linux/virtio_net.h>
> +#include <linux/kernel.h>
>
> #include "vhost.h"
>
> @@ -70,6 +71,7 @@ struct vhost_vdpa {
> int nvqs;
> int virtio_id;
> int minor;
> + struct eventfd_ctx *config_ctx;
> };
>
> static DEFINE_IDA(vhost_vdpa_ida);
> @@ -101,6 +103,17 @@ static irqreturn_t vhost_vdpa_virtqueue_cb(void *private)
> return IRQ_HANDLED;
> }
>
> +static irqreturn_t vhost_vdpa_config_cb(void *private)
> +{
> + struct vhost_vdpa *v = private;
> + struct eventfd_ctx *config_ctx = v->config_ctx;
&g...
2020 Jun 18
0
[PATCH RFC 4/5] vhost-vdpa: support IOTLB batching hints
...lt; VHOST_BACKEND_F_IOTLB_MSG_V2) |
+ (1ULL << VHOST_BACKEND_F_IOTLB_BATCH),
};
/* Currently, only network backend w/o multiqueue is supported. */
@@ -77,6 +79,7 @@ struct vhost_vdpa {
int virtio_id;
int minor;
struct eventfd_ctx *config_ctx;
+ int in_batch;
};
static DEFINE_IDA(vhost_vdpa_ida);
@@ -125,6 +128,7 @@ static void vhost_vdpa_reset(struct vhost_vdpa *v)
const struct vdpa_config_ops *ops = vdpa->config;
ops->set_status(vdpa, 0);
+ v->in_batch = 0;
}
static long vhost_vdpa_get_device_id(struct vhost_vdpa *v, u8 __user *argp)
@@ -540,9 +544,10 @@ static int vh...
2020 Jun 29
0
[PATCH RFC 4/5] vhost-vdpa: support IOTLB batching hints
...>> /* Currently, only network backend w/o multiqueue is supported. */
>> @@ -77,6 +79,7 @@ struct vhost_vdpa {
>> int virtio_id;
>> int minor;
>> struct eventfd_ctx *config_ctx;
>> + int in_batch;
>> };
>>
>> static DEFINE_IDA(vhost_vdpa_ida);
>> @@ -125,6 +128,7 @@ static void vhost_vdpa_reset(struct vhost_vdpa *v)
>> const struct vdpa_config_ops *ops = vdpa->config;
>>
>> ops->set_status(vdpa, 0);
>> + v->in_batch = 0;
>> }
>>
>> static long vhost_vdpa_get_devic...
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
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 Aug 21
9
[PATCH V2 0/3] vDPA: API for reporting IOVA range
Hi All:
This series introduces API for reporing IOVA range. This is a must for
userspace to work correclty:
- for the process that uses vhost-vDPA directly to properly allocate
IOVA
- for VM(qemu), when vIOMMU is not enabled, fail early if GPA is out
of range
- for VM(qemu), when vIOMMU is enabled, determine a valid guest
address width
Please review.
Changes from V1:
- do not mandate
2020 Sep 24
30
[RFC PATCH 00/24] Control VQ support in vDPA
Hi All:
This series tries to add the support for control virtqueue in vDPA.
Control virtqueue is used by networking device for accepting various
commands from the driver. It's a must to support multiqueue and other
configurations.
When used by vhost-vDPA bus driver for VM, the control virtqueue
should be shadowed via userspace VMM (Qemu) instead of being assigned
directly to Guest. This is
2020 Sep 24
30
[RFC PATCH 00/24] Control VQ support in vDPA
Hi All:
This series tries to add the support for control virtqueue in vDPA.
Control virtqueue is used by networking device for accepting various
commands from the driver. It's a must to support multiqueue and other
configurations.
When used by vhost-vDPA bus driver for VM, the control virtqueue
should be shadowed via userspace VMM (Qemu) instead of being assigned
directly to Guest. This is