This patch introduces a helper to set virtqueue MSI vector.
Signed-off-by: Jason Wang
---
drivers/virtio/virtio_pci_modern.c | 35 --
1 file changed, 24 insertions(+), 11 deletions(-)
diff --git a/drivers/virtio/virtio_pci_modern.c
b/drivers/virtio
This patch splits out the virtio-pci modern device only attributes
into another structure. While at it, a dedicated probe method for
modern only attributes is introduced. This may help for split the
logic into a dedicated module.
Signed-off-by: Jason Wang
---
drivers/virtio/virtio_pci_common.h
separate module.
Signed-off-by: Jason Wang
---
drivers/virtio/virtio_pci_common.c | 10 --
drivers/virtio/virtio_pci_common.h | 2 +
drivers/virtio/virtio_pci_legacy.c | 13 ++-
drivers/virtio/virtio_pci_modern.c | 141 +
4 files changed, 54 insertions(+), 112 deletions
Instead of accessing iomem via virito_pci_device directly. Add an
indirect level to ease the life of splitting out modern virito-pci
logic.
Signed-off-by: Jason Wang
---
drivers/virtio/virtio_pci_modern.c | 76 ++
1 file changed, 46 insertions(+), 30 deletions
- Use dynamic id in order to be less confusing with virtio-pci driver
- No feature whitelist, supporting any features (mq, config etc)
Thanks
Jason Wang (14):
virtio-pci: do not access iomem via virtio_pci_device directly
virtio-pci: switch to use devres for modern devices
virtio-pci: split
On 2020/11/18 下午9:14, Stefano Garzarella wrote:
Hi Jason,
I just discovered that I missed the other questions in this email,
sorry for that!
No problem :)
On Mon, Nov 16, 2020 at 12:00:11PM +0800, Jason Wang wrote:
On 2020/11/13 下午9:47, Stefano Garzarella wrote:
From: Max Gurtovoy
On 2020/11/17 上午12:16, Stefano Garzarella wrote:
vringh_iov_push_*() functions don't have 'dst' parameter, but have
the 'src' parameter.
Replace 'dst' description with 'src' description.
Signed-off-by: Stefano Garzarella
Acked-by: Ja
On 2020/11/13 下午9:47, Stefano Garzarella wrote:
The previous implementation wrote only the status of each request.
This patch implements a more accurate block device simulator,
providing a ramdisk-like behavior.
Also handle VIRTIO_BLK_T_GET_ID request, always answering the
"vdpa_blk_sim" strin
On 2020/11/13 下午9:47, Stefano Garzarella wrote:
In some cases, it may be useful to provide a way to skip a number
of bytes in a vringh_iov.
In order to keep vringh_iov consistent, let's reuse vringh_iov_xfer()
logic and skip bytes when the ptr is NULL.
Signed-off-by: Stefano Garzarella
---
iov
to use them with vringh_getdesc_iotlb().
Signed-off-by: Stefano Garzarella
Acked-by: Jason Wang
---
drivers/vdpa/vdpa_sim/vdpa_sim.h | 3 ++-
drivers/vdpa/vdpa_sim/vdpa_sim_blk.c | 6 +++---
drivers/vdpa/vdpa_sim/vdpa_sim_net.c | 8
3 files changed, 9 insertions(+), 8
On 2020/11/13 下午9:47, Stefano Garzarella wrote:
Allow each device to specify the size of the buffer allocated
in vdpa_sim.
Signed-off-by: Stefano Garzarella
Acked-by: Jason Wang
---
drivers/vdpa/vdpa_sim/vdpa_sim.h | 1 +
drivers/vdpa/vdpa_sim/vdpa_sim.c | 2 +-
drivers
/vdpa/vdpa_sim/vdpa_sim.h
+++ b/drivers/vdpa/vdpa_sim/vdpa_sim.h
@@ -10,8 +10,6 @@
#include
#include
#include
-#include
-#include
#define DRV_VERSION "0.1"
#define DRV_AUTHOR "Jason Wang "
@@ -42,8 +40,11 @@ struct vdpasim_virtqueue {
struct vdpa
On 2020/11/13 下午9:47, Stefano Garzarella wrote:
The next patch will make the buffer size configurable from each
device.
Since the buffer could be larger than a page, we use kvmalloc()
instead of kmalloc().
Signed-off-by: Stefano Garzarella
Acked-by: Jason Wang
Thanks
---
drivers
On 2020/11/13 下午9:47, Stefano Garzarella wrote:
The simulated devices can support multiple queues, so this limit
should be defined according to the number of queues supported by
the device.
Since we are in a simulator, let's simply remove that limit.
Suggested-by: Jason Wang
Signed-o
On 2020/11/13 下午9:47, Stefano Garzarella wrote:
Move device properties used during the entire life cycle in a new
structure to simplify the copy of these fields during the vdpasim
initialization.
Signed-off-by: Stefano Garzarella
It would be better to do it before patch 2.
---
drivers
On 2020/11/13 下午9:47, Stefano Garzarella wrote:
From: Max Gurtovoy
This will allow running vDPA for virtio block protocol.
Signed-off-by: Max Gurtovoy
[sgarzare: various cleanups/fixes]
Signed-off-by: Stefano Garzarella
---
v1:
- Removed unused headers
- Used cpu_to_vdpasim*() to store con
On 2020/11/13 下午9:47, Stefano Garzarella wrote:
From: Max Gurtovoy
Add a new attribute that will define the number of virt queues to be
created for the vdpasim device.
Signed-off-by: Max Gurtovoy
[sgarzare: replace kmalloc_array() with kcalloc()]
Signed-off-by: Stefano Garzarella
---
v1:
-
_VDPA_SIM_H
+#define _VDPA_SIM_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#define DRV_VERSION "0.1"
+#define DRV_AUTHOR "Jason Wang "
+#define DRV_LICENSE "GPL v2"
+
+#define VDPASIM_QUEUE_ALIGN PAGE_SIZE
+#define VDPASIM_QUEUE_MAX 256
+#defi
On 2020/11/13 下午9:47, Stefano Garzarella wrote:
Thanks to Max that started this work!
I took his patches, and extended the block simulator a bit.
This series moves the network device simulator in a new module
(vdpa_sim_net) and leaves the generic functions in the vdpa_sim core
module, allowing
check to a WARN_ON() (Jason)
Changes in v2:
- Drop the reversion patch
- Fix unhandled page leak towards the end of page_list
Acked-by: Jason Wang
Thanks
drivers/vhost/vdpa.c | 80
1 file changed, 62 insertions(+), 18 deletions(-)
di
On 2020/11/10 上午7:56, si-wei liu wrote:
On 11/9/2020 2:42 PM, Michael S. Tsirkin wrote:
On Mon, Nov 09, 2020 at 01:44:03PM -0800, si-wei liu wrote:
On 11/8/2020 7:21 PM, Jason Wang wrote:
On 2020/11/6 上午6:57, si-wei liu wrote:
On 11/4/2020 7:26 PM, Jason Wang wrote:
On 2020/11/5 上午7:33
On 2020/11/5 下午8:22, Alexander Lobakin wrote:
From: Jason Wang
Date: Thu, 5 Nov 2020 11:10:24 +0800
Hi Jason,
On 2020/11/4 下午11:31, Alexander Lobakin wrote:
Since commit 086d08725d34 ("remoteproc: create vdev subdevice with
specific dma memory pool"), every remoteproc has a DMA
On 2020/11/6 上午6:57, si-wei liu wrote:
On 11/4/2020 7:26 PM, Jason Wang wrote:
On 2020/11/5 上午7:33, Si-Wei Liu wrote:
Pinned pages are not properly accounted particularly when
mapping error occurs on IOTLB update. Clean up dangling
pinned pages for the error path.
The memory usage for
On 2020/11/5 上午7:33, Si-Wei Liu wrote:
Pinned pages are not properly accounted particularly when
mapping error occurs on IOTLB update. Clean up dangling
pinned pages for the error path.
The memory usage for bookkeeping pinned pages is reverted
to what it was before: only one single free page i
On 2020/11/5 上午7:40, si-wei liu wrote:
On 11/3/2020 6:42 PM, Jason Wang wrote:
On 2020/10/30 下午3:45, Si-Wei Liu wrote:
Pinned pages are not properly accounted particularly when
mapping error occurs on IOTLB update. Clean up dangling
pinned pages for the error path.
The memory usage for
On 2020/11/4 下午11:31, Alexander Lobakin wrote:
Since commit 086d08725d34 ("remoteproc: create vdev subdevice with
specific dma memory pool"), every remoteproc has a DMA subdevice
("remoteprocX#vdevYbuffer") for each virtio device, which inherits
DMA capabilities from the corresponding platform
On 2020/10/30 下午3:45, Si-Wei Liu wrote:
Pinned pages are not properly accounted particularly when
mapping error occurs on IOTLB update. Clean up dangling
pinned pages for the error path.
The memory usage for bookkeeping pinned pages is reverted
to what it was before: only one single free page
On 2020/11/4 上午9:08, si-wei liu wrote:
On 11/3/2020 5:06 PM, si-wei liu wrote:
On 11/3/2020 5:00 AM, Jason Wang wrote:
On 2020/10/30 下午3:45, Si-Wei Liu wrote:
Pinned pages are not properly accounted particularly when
mapping error occurs on IOTLB update. Clean up dangling
pinned pages
On 2020/10/30 下午3:45, Si-Wei Liu wrote:
Pinned pages are not properly accounted particularly when
mapping error occurs on IOTLB update. Clean up dangling
pinned pages for the error path.
The memory usage for bookkeeping pinned pages is reverted
to what it was before: only one single free page
On 2020/11/3 上午1:11, Stefano Garzarella wrote:
On Fri, Oct 30, 2020 at 07:44:43PM +0800, Jason Wang wrote:
On 2020/10/30 下午6:54, Stefano Garzarella wrote:
On Fri, Oct 30, 2020 at 06:02:18PM +0800, Jason Wang wrote:
On 2020/10/30 上午1:43, Stefano Garzarella wrote:
This patch enables the
On 2020/10/30 下午3:45, Si-Wei Liu wrote:
This reverts commit 7ed9e3d97c32d969caded2dfb6e67c1a2cc5a0b1.
Signed-off-by: Si-Wei Liu
---
drivers/vhost/vdpa.c | 119 +--
1 file changed, 48 insertions(+), 71 deletions(-)
I saw this has been rever
On 2020/10/30 下午6:54, Stefano Garzarella wrote:
On Fri, Oct 30, 2020 at 06:02:18PM +0800, Jason Wang wrote:
On 2020/10/30 上午1:43, Stefano Garzarella wrote:
This patch enables the IOTLB API support for vhost-vsock devices,
allowing the userspace to emulate an IOMMU for the guest.
These
On 2020/10/30 上午1:43, Stefano Garzarella wrote:
This patch enables the IOTLB API support for vhost-vsock devices,
allowing the userspace to emulate an IOMMU for the guest.
These changes were made following vhost-net, in details this patch:
- exposes VIRTIO_F_ACCESS_PLATFORM feature and inits t
a_sim/vdpa_sim.c | 17 +++--
1 file changed, 15 insertions(+), 2 deletions(-)
Acked-by: Jason Wang
&vdpasim->vdpa.dev;
- dev->coherent_dma_mask = DMA_BIT_MASK(64);
+ dev->dma_mask = &dev->coherent_dma_mask;
+ if (dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64)))
+ goto err_iommu;
set_dma_ops(dev, &vdpasim_dma_ops);
vdpasim->iommu = vhost_iotlb_alloc(2048, 0);
Acked-by: Jason Wang
- if (!ret)
+ err = dma_map_sg_attrs(dma, mr->sg_head.sgl, mr->nsg,
DMA_BIDIRECTIONAL, 0);
+ if (!err)
goto err_map;
err = create_direct_mr(mvdev, mr);
Acked-by: Jason Wang
This implements a sample get_iova_range() for the simulator which
advertise [0, ULLONG_MAX] as the valid range.
Signed-off-by: Jason Wang
---
drivers/vdpa/vdpa_sim/vdpa_sim.c | 12
1 file changed, 12 insertions(+)
diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim.c b/drivers/vdpa
own DMA
translation logic and assume a [0, ULLONG_MAX] range
- mandate IOVA range only for IOMMU that forcing aperture
- forbid the map which is out of the IOVA range in vhost-vDPA
Jason Wang (3):
vdpa: introduce config op to get valid iova range
vhost: vdpa: report iova range
vdpa_sim
y via DOMAIN_ATTR_GEOMETRY,
otherwise [0, ULLONG_MAX] is assumed.
For safety, this patch also rules out the map request which is not in
the valid range.
Signed-off-by: Jason Wang
---
drivers/vhost/vdpa.c | 41
include/uapi/linux/vhost.h | 4
include/uapi/
This patch introduce a config op to get valid iova range from the vDPA
device.
Signed-off-by: Jason Wang
---
include/linux/vdpa.h | 15 +++
1 file changed, 15 insertions(+)
diff --git a/include/linux/vdpa.h b/include/linux/vdpa.h
index eae0bfd87d91..30bc7a7223bb 100644
--- a
, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url:
https://github.com/0day-ci/linux/commits/Jason-Wang/vDPA-API-for-reporting-IOVA-range/20201023-102708
base: https://git.kernel.org/pub
y via DOMAIN_ATTR_GEOMETRY,
otherwise [0, ULLONG_MAX] is assumed.
For safety, this patch also rules out the map request which is not in
the valid range.
Signed-off-by: Jason Wang
---
drivers/vhost/vdpa.c | 40
include/uapi/linux/vhost.h | 4
include/uapi/
This implements a sample get_iova_range() for the simulator which
advertise [0, ULLONG_MAX] as the valid range.
Signed-off-by: Jason Wang
---
drivers/vdpa/vdpa_sim/vdpa_sim.c | 12
1 file changed, 12 insertions(+)
diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim.c b/drivers/vdpa
, ULLONG_MAX] range
- mandate IOVA range only for IOMMU that forcing aperture
- forbid the map which is out of the IOVA range in vhost-vDPA
Jason Wang (3):
vdpa: introduce config op to get valid iova range
vhost: vdpa: report iova range
vdpa_sim: implement get_iova_range()
drivers/vdpa/vdpa_sim
This patch introduce a config op to get valid iova range from the vDPA
device.
Signed-off-by: Jason Wang
---
include/linux/vdpa.h | 15 +++
1 file changed, 15 insertions(+)
diff --git a/include/linux/vdpa.h b/include/linux/vdpa.h
index eae0bfd87d91..30bc7a7223bb 100644
--- a
On 2020/10/21 下午10:45, Michael S. Tsirkin wrote:
On Wed, Jun 17, 2020 at 11:29:43AM +0800, Jason Wang wrote:
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
have a control vq, everything breaks.
Revert the original commit for now.
Cc: Tonghao Zhang
Cc: Willem de Bruijn
Fixes: 3618ad2a7c0e7 ("virtio-net: ethtool configurable RXCSUM")
Reported-by: kernel test robot
Signed-off-by: Michael S. Tsirkin
---
Acked-by: Jason Wang
Same patch
On 2020/10/19 下午5:06, Zhenzhong Duan wrote:
In case failure to setup Post interrupt for an IRQ, it make no sense
to assign irqfd->producer to the producer.
This change makes code more robust.
It's better to describe what issue we will get without this patch.
Thanks
Signed-off-by: Zhenz
On 2020/10/19 下午5:06, Zhenzhong Duan wrote:
If Post interrupt is disabled due to hardware limit or forcely disabled
by "intremap=nopost" parameter, return -EINVAL so that the legacy mode IRQ
isn't registered as IRQ bypass producer.
Is there any side effect if it was still registered?
Wit
On 2020/10/20 上午1:32, Michael S. Tsirkin wrote:
This reverts commit 3618ad2a7c0e78e4258386394d5d5f92a3dbccf8.
When the device does not have a control vq (e.g. when using a
version of QEMU based on upstream v0.10 or older, or when specifying
ctrl_vq=off,ctrl_rx=off,ctrl_vlan=off,ctrl_rx_extra=o
On 2020/10/14 下午4:37, Jie Deng wrote:
On 2020/10/13 16:00, Jason Wang wrote:
+
+ virtqueue_kick(vq);
+
+ time_left =
wait_for_completion_timeout(&vi->completion, adap->timeout);
+ if (!time_left) {
+ dev_err(&adap->dev, "msg[%d]: add
On 2020/10/14 上午7:42, si-wei liu wrote:
So what I suggest is to fix the pinning leakage first and do the
possible optimization on top (which is still questionable to me).
OK. Unfortunately, this was picked and got merged in upstream. So I
will post a follow up patch set to 1) revert the com
On 2020/10/14 下午2:52, Michael S. Tsirkin wrote:
On Tue, Oct 13, 2020 at 04:42:59PM -0700, si-wei liu wrote:
On 10/9/2020 7:27 PM, Jason Wang wrote:
On 2020/10/3 下午1:02, Si-Wei Liu wrote:
Pinned pages are not properly accounted particularly when
mapping error occurs on IOTLB update. Clean up
On 2020/10/13 下午3:16, Jie Deng wrote:
On 2020/10/12 11:43, Jason Wang wrote:
On 2020/10/12 上午10:45, Jie Deng wrote:
On 2020/10/10 11:14, Jason Wang wrote:
+
+ virtqueue_kick(vq);
+
+ time_left = wait_for_completion_timeout(&vi->completion,
adap->timeout);
+
On 2020/10/12 下午4:17, Eli Cohen wrote:
On Mon, Oct 12, 2020 at 03:45:10PM +0800, Jason Wang wrote:
So in theory we can have several asid's (for different virtqueues), each
one should be followed by a specific set_map call. If this is so, how do
I know if I met all the conditions run my d
On 2020/10/12 下午2:59, Eli Cohen wrote:
On Fri, Oct 09, 2020 at 11:56:45AM +0800, Jason Wang wrote:
On 2020/10/1 下午9:29, Eli Cohen wrote:
On Thu, Sep 24, 2020 at 11:21:11AM +0800, Jason Wang wrote:
This patch introduces a new bus operation to allow the vDPA bus driver
to associate an ASID to
On 2020/10/12 上午10:45, Jie Deng wrote:
On 2020/10/10 11:14, Jason Wang wrote:
+
+ virtqueue_kick(vq);
+
+ time_left = wait_for_completion_timeout(&vi->completion,
adap->timeout);
+ if (!time_left) {
+ dev_err(&adap->dev, "msg[%d]: ad
device be
able to get to vq's avail_index, regardless of vDPA device
status. Save the index that was last seen when virtq was
stopped, so that userspace doesn't complain.
Signed-off-by: Si-Wei Liu
Acked-by: Jason Wang
---
drivers/vdpa/mlx5/net/mlx5_vnet.c | 20 ++
On 2020/9/22 上午10:58, Jie Deng wrote:
Add an I2C bus driver for virtio para-virtualization.
The controller can be emulated by the backend driver in
any device model software by following the virtio protocol.
This driver communicates with the backend driver through a
virtio I2C message structu
that only checks accesses
to the log for the used structure when there isn't an IOTLB device around.
Signed-off-by: Greg Kurz
Acked-by: Jason Wang
In the future, we may consider to deprecate log_guest_addr since in any
case regardless of IOTLB ennoblement we can get GPA from either IOTLB
>num * sizeof *vq->used->ring))
+ vhost_get_used_size(vq, vq->num)))
return -EINVAL;
}
Acked-by: Jason Wang
On 2020/10/3 下午1:02, Si-Wei Liu wrote:
Pinned pages are not properly accounted particularly when
mapping error occurs on IOTLB update. Clean up dangling
pinned pages for the error path. As the inflight pinned
pages, specifically for memory region that strides across
multiple chunks, would need
}
+ if (r)
+ vhost_iotlb_del_range(dev->iotlb, iova, iova + size - 1);
+
return r;
}
Acked-by: Jason Wang
On 2020/10/9 上午4:42, Stefano Garzarella wrote:
If riov and wiov are both defined and they point to different
objects, only riov is initialized. If the wiov is not initialized
by the caller, the function fails returning -EINVAL and printing
"Readable desc 0x... after writable" error message.
Th
On 2020/9/28 下午11:44, Eugenio Perez Martin wrote:
-u64 iova, u64 size)
+static int vhost_vdpa_unmap(struct vhost_vdpa *v,
+ struct vhost_iotlb *iotlb,
+ u64 iova, u64 size)
{
struct vdpa_device *vdpa = v-
On 2020/10/1 下午9:29, Eli Cohen wrote:
On Thu, Sep 24, 2020 at 11:21:11AM +0800, Jason Wang wrote:
This patch introduces a new bus operation to allow the vDPA bus driver
to associate an ASID to a virtqueue group.
So in case of virtio_net, I would expect that all the data virtqueues
will be
On 2020/10/1 下午9:23, Eli Cohen wrote:
+ /* Only support 1 address space */
+ if (vdpa->ngroups != 1)
+ return -ENOTSUPP;
Checkpatch warning: prefer EOPNOTSUPP
Will fix.
Thanks
On 2020/10/1 下午9:21, Eli Cohen wrote:
On Thu, Sep 24, 2020 at 11:21:10AM +0800, Jason Wang wrote:
This patches introduces the multiple address spaces support for vDPA
device. This idea is to identify a specific address space via an
dedicated identifier - ASID.
During vDPA device allocation
On 2020/9/28 下午11:44, Eugenio Perez Martin wrote:
On Thu, Sep 24, 2020 at 5:23 AM Jason Wang wrote:
This patch introduces virtqueue groups to vDPA device. The virtqueue
group is the minimal set of virtqueues that must share an address
space. And the adddress space identifier could only be
On 2020/9/30 下午8:02, Eli Cohen wrote:
On Thu, Sep 24, 2020 at 11:21:07AM +0800, Jason Wang wrote:
To ease the implementation of per group ASID support for vDPA
device. This patch switches to use a vhost-vdpa specific IOTLB to
avoid the unnecessary refactoring of the vhost core.
Signed-off-by
On 2020/9/30 下午7:26, Eli Cohen wrote:
On Thu, Sep 24, 2020 at 11:21:06AM +0800, Jason Wang wrote:
To prepare for the ASID support for vhost-vdpa, try to pass IOTLB
object to dma helpers.
Maybe it's worth mentioning here that this patch does not change any
functionality and is presented
On 2020/10/2 上午4:23, Si-Wei Liu wrote:
Pinned pages are not properly accounted particularly when
mapping error occurs on IOTLB update. Clean up dangling
pinned pages for the error path. As the inflight pinned
pages, specifically for memory region that strides across
multiple chunks, would need
On 2020/9/24 下午3:48, Eli Cohen wrote:
On Thu, Sep 24, 2020 at 11:21:03AM +0800, Jason Wang wrote:
We need to free vqs during the err path after it has been allocated
since vhost won't do that for us.
Signed-off-by: Jason Wang
---
drivers/vhost/vdpa.c | 11 ---
1 file chang
On 2020/9/24 下午6:17, Stefan Hajnoczi wrote:
On Thu, Sep 24, 2020 at 11:21:01AM +0800, Jason Wang wrote:
This series tries to add the support for control virtqueue in vDPA.
Please include documentation for both driver authors and vhost-vdpa
ioctl users. vhost-vdpa ioctls are only documented
On 2020/9/25 下午6:19, Michael S. Tsirkin wrote:
On Fri, Sep 25, 2020 at 10:20:05AM +0300, Leon Romanovsky wrote:
On Thu, Sep 24, 2020 at 12:02:43PM -0400, Michael S. Tsirkin wrote:
On Thu, Sep 24, 2020 at 08:47:05AM -0700, Randy Dunlap wrote:
On 9/24/20 3:24 AM, Eli Cohen wrote:
On Thu, Sep
On 2020/9/24 下午5:31, Michael S. Tsirkin wrote:
On Thu, Sep 24, 2020 at 11:21:03AM +0800, Jason Wang wrote:
We need to free vqs during the err path after it has been allocated
since vhost won't do that for us.
Signed-off-by: Jason Wang
This is a bugfix too right? I don't see
On 2020/9/24 下午3:50, Michael S. Tsirkin wrote:
On Thu, Sep 24, 2020 at 11:21:02AM +0800, Jason Wang wrote:
Commit 653055b9acd4 ("vhost-vdpa: support get/set backend features")
introduces two malfunction backend features ioctls:
1) the ioctls was blindly added to vring ioctl inste
On 2020/9/24 下午3:16, Eli Cohen wrote:
On Thu, Sep 24, 2020 at 11:21:02AM +0800, Jason Wang wrote:
Commit 653055b9acd4 ("vhost-vdpa: support get/set backend features")
introduces two malfunction backend features ioctls:
1) the ioctls was blindly added to vring ioctl instead of v
Add a simple unicast filter to filter out the dest MAC doesn't match
to the one stored in the config.
Signed-off-by: Jason Wang
---
drivers/vdpa/vdpa_sim/vdpa_sim.c | 49
1 file changed, 31 insertions(+), 18 deletions(-)
diff --git a/drivers/vdpa/vdp
associated to all virtqueue
groups by default. All virtqueues share the same mapping by default.
To demonstrate the function, VIRITO_NET_F_CTRL_MACADDR is
implemented in the simulator for the driver to set mac address.
Signed-off-by: Jason Wang
---
drivers/vdpa/vdpa_sim/vdpa_sim.c | 189
This patch factors out the buffer completion logic in order to support
future features.
Signed-off-by: Jason Wang
---
drivers/vdpa/vdpa_sim/vdpa_sim.c | 33 +---
1 file changed, 18 insertions(+), 15 deletions(-)
diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim.c b
We advertise mac address via config space, so let's advertise
VIRTIO_NET_F_MAC.
Signed-off-by: Jason Wang
---
drivers/vdpa/vdpa_sim/vdpa_sim.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim.c b/drivers/vdpa/vdpa_sim/vdpa_sim.c
We've already reported maximum mtu via config space, so let's
advertise the feature.
Signed-off-by: Jason Wang
---
drivers/vdpa/vdpa_sim/vdpa_sim.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim.c b/drivers/vdpa/vdpa_sim/vdpa_s
Follows the support for virtqueue group in vDPA. This patches
introduces uAPI to get the virtqueue group ID for a specific virtqueue
in vhost-vdpa.
Signed-off-by: Jason Wang
---
drivers/vhost/vdpa.c | 8
include/uapi/linux/vhost.h | 4
2 files changed, 12 insertions(+)
diff
In order to support control virtqueue whose commands have both in and
out descriptors, we need to use separated iov for reading and writing
in vdpa_sim.
Signed-off-by: Jason Wang
---
drivers/vdpa/vdpa_sim/vdpa_sim.c | 11 ++-
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a
vDPA device with more than one
address spaces that depends on platform IOMMU. This work will be done
by moving the IOMMU logic from vhost-vDPA to vDPA device driver.
Signed-off-by: Jason Wang
---
drivers/vhost/vdpa.c | 106 ---
1 file changed, 79 inser
Follows the vDPA support for associating ASID to a specific virtqueue
group. This patch adds a uAPI to support setting them from userspace.
Signed-off-by: Jason Wang
---
drivers/vhost/vdpa.c | 8
include/uapi/linux/vhost.h | 4
2 files changed, 12 insertions(+)
diff --git a
A new uAPI is introduced for the userspace to know the address spaces
that is supported by a specific device.
Signed-off-by: Jason Wang
---
drivers/vhost/vdpa.c | 3 +++
include/uapi/linux/vhost.h | 2 ++
2 files changed, 5 insertions(+)
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost
This patch introduces a new bus operation to allow the vDPA bus driver
to associate an ASID to a virtqueue group.
Signed-off-by: Jason Wang
---
include/linux/vdpa.h | 10 ++
1 file changed, 10 insertions(+)
diff --git a/include/linux/vdpa.h b/include/linux/vdpa.h
index 1e1163daa352
Follows the vDPA support for multiple address spaces, this patch
introduce uAPI for the userspace to know the number of virtqueue
groups supported by the vDPA device.
Signed-off-by: Jason Wang
---
drivers/vhost/vdpa.c | 4
include/uapi/linux/vhost.h | 4
2 files changed, 8
there's no mapping
associated with an ASID.
Signed-off-by: Jason Wang
---
drivers/vhost/vdpa.c | 94 +---
1 file changed, 72 insertions(+), 22 deletions(-)
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index 6552987544d7..1ba7e95619b5 100644
This patch split out IOTLB initialization logic into a new
helper. This allows vhost to implement device specific IOTLB
allocation logic.
Signed-off-by: Jason Wang
---
drivers/vhost/iotlb.c | 23 ++-
include/linux/vhost_iotlb.h | 2 ++
2 files changed, 20 insertions
This patches allows userspace to send ASID based IOTLB message to
vhost. This idea is to use the reserved u32 field in the existing V2
IOTLB message. Vhost device should advertise this capability via
VHOST_BACKEND_F_IOTLB_ASID backend feature.
Signed-off-by: Jason Wang
---
drivers/vhost/vdpa.c
about how the actual
composition/emulation were done in the device driver).
Signed-off-by: Jason Wang
---
drivers/vdpa/ifcvf/ifcvf_main.c | 2 +-
drivers/vdpa/mlx5/net/mlx5_vnet.c | 5 +++--
drivers/vdpa/vdpa.c | 4 +++-
drivers/vdpa/vdpa_sim/vdpa_sim.c | 10 ++
drivers/
Signed-off-by: Jason Wang
---
include/linux/vdpa.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/linux/vdpa.h b/include/linux/vdpa.h
index eae0bfd87d91..df169c2f5c0f 100644
--- a/include/linux/vdpa.h
+++ b/include/linux/vdpa.h
@@ -42,6 +42,7 @@ struct vdpa_vq_state {
* @config
To ease the implementation of per group ASID support for vDPA
device. This patch switches to use a vhost-vdpa specific IOTLB to
avoid the unnecessary refactoring of the vhost core.
Signed-off-by: Jason Wang
---
drivers/vhost/vdpa.c | 14 --
1 file changed, 8 insertions(+), 6
group
ID for a specific virtqueue.
All the vDPA device drivers were converted to simply support a single
virtqueue group.
Signed-off-by: Jason Wang
---
drivers/vdpa/ifcvf/ifcvf_main.c | 9 -
drivers/vdpa/mlx5/net/mlx5_vnet.c | 8 +++-
drivers/vdpa/vdpa.c | 4
pport
setting MAC address via a emulated control virtqueue. Please refer
patch 24 for more implementation details.
Please review.
Note that patch 1 and a equivalent of patch 2 have been posted in the
list. Those two are requirement for this series to work, so I add them
here.
Thank
Jason Wan
There's no need for setting callbacks for the driver that doesn't care
about that.
Signed-off-by: Jason Wang
---
drivers/virtio/virtio_vdpa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/virtio/virtio_vdpa.c b/drivers/virtio/virtio_vdpa.c
index 4a
We need to free vqs during the err path after it has been allocated
since vhost won't do that for us.
Signed-off-by: Jason Wang
---
drivers/vhost/vdpa.c | 11 ---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index 796fe97
601 - 700 of 1862 matches
Mail list logo