Re: [RFC 2/2] vhost: IFC VF vdpa layer

2019-10-21 Thread Jason Wang
On 2019/10/21 下午5:53, Zhu, Lingshan wrote: On 10/16/2019 6:19 PM, Jason Wang wrote: On 2019/10/16 上午9:30, Zhu Lingshan wrote: This commit introduced IFC VF operations for vdpa, which complys to vhost_mdev interfaces, handles IFC VF initialization, configuration and removal. Signed-off

Re: [PATCH V4 5/6] virtio: introduce a mdev based transport

2019-10-21 Thread Jason Wang
On 2019/10/18 下午10:20, Cornelia Huck wrote: On Thu, 17 Oct 2019 18:48:35 +0800 Jason Wang wrote: This patch introduces a new mdev transport for virtio. This is used to use kernel virtio driver to drive the mediated device that is capable of populating virtqueue directly. A new virtio-mdev

Re: [PATCH 2/2] virtio_ring: Use DMA API if memory is encrypted

2019-10-16 Thread Jason Wang
On 2019/10/15 下午3:35, Christoph Hellwig wrote: On Fri, Oct 11, 2019 at 06:25:19PM -0700, Ram Pai wrote: From: Thiago Jung Bauermann Normally, virtio enables DMA API with VIRTIO_F_IOMMU_PLATFORM, which must be set by both device and guest driver. However, as a hack, when DMA API returns

Re: [RFC 2/2] vhost: IFC VF vdpa layer

2019-10-16 Thread Jason Wang
On 2019/10/16 上午9:30, Zhu Lingshan wrote: This commit introduced IFC VF operations for vdpa, which complys to vhost_mdev interfaces, handles IFC VF initialization, configuration and removal. Signed-off-by: Zhu Lingshan --- drivers/vhost/ifcvf/ifcvf_main.c | 541

Re: [RFC 1/2] vhost: IFC VF hardware operation layer

2019-10-16 Thread Jason Wang
On 2019/10/16 上午9:30, Zhu Lingshan wrote: + */ +#define IFCVF_TRANSPORT_F_START 28 +#define IFCVF_TRANSPORT_F_END 34 + +#define IFC_SUPPORTED_FEATURES \ + ((1ULL << VIRTIO_NET_F_MAC) | \ +(1ULL << VIRTIO_F_ANY_LAYOUT)| \

Re: [RFC 1/2] vhost: IFC VF hardware operation layer

2019-10-16 Thread Jason Wang
On 2019/10/16 上午9:30, Zhu Lingshan wrote: This commit introduced ifcvf_base layer, which handles IFC VF NIC hardware operations and configurations. It's better to describe the difference between ifc vf and virtio in the commit log or is there a open doc for this? Signed-off-by: Zhu

Re: [RFC 0/2] Intel IFC VF driver for vdpa

2019-10-16 Thread Jason Wang
On 2019/10/16 上午9:36, Zhu Lingshan wrote: failed to send to kvm list, resend, sorry for the inconvenience. THanks, BR Zhu Lingshan On 10/16/2019 9:30 AM, Zhu Lingshan wrote: Hi all:   This series intends to introduce Intel IFC VF NIC driver for Vhost Data Plane Acceleration.   Here comes

Re: [PATCH RFC v1 1/2] vhost: option to fetch descriptors through an independent struct

2019-10-15 Thread Jason Wang
On 2019/10/16 上午4:20, Michael S. Tsirkin wrote: On Mon, Oct 14, 2019 at 09:43:25AM +0800, Jason Wang wrote: On 2019/10/13 上午4:27, Michael S. Tsirkin wrote: On Sat, Oct 12, 2019 at 03:28:49PM +0800, Jason Wang wrote: On 2019/10/11 下午9:45, Michael S. Tsirkin wrote: The idea is to support

Re: [PATCH RFC v4 0/5] vhost: ring format independence

2019-10-14 Thread Jason Wang
detect buffer overflow in case of bugs in response to comment by Jason Wang - minor code tweaks Changes from v2: - fixed indirect descriptor batching reported by Jason Wang Changes from v1: - typo fixes I've just done some quick ben

Re: [PATCH v4 1/5] vsock/virtio: limit the memory used per-socket

2019-10-14 Thread Jason Wang
On 2019/10/14 下午4:17, Stefan Hajnoczi wrote: SO_VM_SOCKETS_BUFFER_SIZE might have been useful for VMCI-specific applications, but we should use SO_RCVBUF and SO_SNDBUF for portable applications in the future. Those socket options also work with other address families. I guess these sockopts

Re: [PATCH RFC v1 2/2] vhost: batching fetches

2019-10-13 Thread Jason Wang
On 2019/10/13 上午4:36, Michael S. Tsirkin wrote: On Sat, Oct 12, 2019 at 03:30:52PM +0800, Jason Wang wrote: On 2019/10/11 下午9:46, Michael S. Tsirkin wrote: With this patch applied, new and old code perform identically. Lots of extra optimizations are now possible, e.g. we can fetch multiple

Re: [PATCH RFC v1 1/2] vhost: option to fetch descriptors through an independent struct

2019-10-13 Thread Jason Wang
On 2019/10/13 上午4:27, Michael S. Tsirkin wrote: On Sat, Oct 12, 2019 at 03:28:49PM +0800, Jason Wang wrote: On 2019/10/11 下午9:45, Michael S. Tsirkin wrote: The idea is to support multiple ring formats by converting to a format-independent array of descriptors. This costs extra cycles

Re: [PATCH RFC net-next 2/2] drivers: net: virtio_net: Add tx_timeout function

2019-10-12 Thread Jason Wang
tx_timeout statistic and consider this event as an error (one error per queue), reporting it. Signed-off-by: Julio Faracco Signed-off-by: Daiane Mendes Cc: Jason Wang --- drivers/net/virtio_net.c | 27 +++ 1 file changed, 27 insertions(+) diff --git a/drivers/net

Re: [PATCH RFC net-next 2/2] drivers: net: virtio_net: Add tx_timeout function

2019-10-12 Thread Jason Wang
the event in some specific queue of device. This function still counts tx_timeout statistic and consider this event as an error (one error per queue), reporting it. Signed-off-by: Julio Faracco Signed-off-by: Daiane Mendes Cc: Jason Wang --- drivers/net/virtio_net.c | 27

Re: [PATCH RFC v1 0/2] vhost: ring format independence

2019-10-12 Thread Jason Wang
On 2019/10/11 下午9:45, Michael S. Tsirkin wrote: 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

Re: [PATCH RFC v1 0/2] vhost: ring format independence

2019-10-12 Thread Jason Wang
On 2019/10/11 下午9:45, Michael S. Tsirkin wrote: 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

Re: [PATCH RFC v1 2/2] vhost: batching fetches

2019-10-12 Thread Jason Wang
On 2019/10/11 下午9:46, Michael S. Tsirkin wrote: With this patch applied, new and old code perform identically. Lots of extra optimizations are now possible, e.g. we can fetch multiple heads with copy_from/to_user now. We can get rid of maintaining the log array. Etc etc. Signed-off-by:

Re: [PATCH RFC v1 1/2] vhost: option to fetch descriptors through an independent struct

2019-10-12 Thread Jason Wang
On 2019/10/11 下午9:45, Michael S. Tsirkin wrote: The idea is to support multiple ring formats by converting to a format-independent array of descriptors. This costs extra cycles, but we gain in ability to fetch a batch of descriptors in one go, which is good for code cache locality. To

Re: [PATCH V2 6/8] mdev: introduce virtio device and its device ops

2019-10-10 Thread Jason Wang
On 2019/9/25 上午7:06, Alex Williamson wrote: On Tue, 24 Sep 2019 21:53:30 +0800 Jason Wang wrote: This patch implements basic support for mdev driver that supports virtio transport for kernel virtio driver. Signed-off-by: Jason Wang --- include/linux/mdev.h| 2 + include/linux

Re: [PATCH 07/11] vhost: convert vhost_umem_interval_tree to half closed intervals

2019-10-09 Thread Jason Wang
closed interval and also reduces the chances of some caller being missed. Cc: Michael S. Tsirkin" Cc: Jason Wang Cc: virtualizat...@lists.linux-foundation.org Signed-off-by: Davidlohr Bueso --- drivers/vhost/vhost.c | 19 +-- drivers/vhost/vhost.h | 4 ++-- 2 files ch

Re: [PATCH] vhost: introduce mdev based hardware backend

2019-09-29 Thread Jason Wang
On 2019/9/27 下午9:23, Michael S. Tsirkin wrote: On Fri, Sep 27, 2019 at 09:17:56PM +0800, Jason Wang wrote: On 2019/9/27 下午8:46, Michael S. Tsirkin wrote: On Fri, Sep 27, 2019 at 08:17:47PM +0800, Jason Wang wrote: On 2019/9/27 下午5:41, Michael S. Tsirkin wrote: On Fri, Sep 27, 2019 at 11:27

Re: [PATCH] vhost: introduce mdev based hardware backend

2019-09-27 Thread Jason Wang
On 2019/9/27 下午8:46, Michael S. Tsirkin wrote: On Fri, Sep 27, 2019 at 08:17:47PM +0800, Jason Wang wrote: On 2019/9/27 下午5:41, Michael S. Tsirkin wrote: On Fri, Sep 27, 2019 at 11:27:12AM +0800, Jason Wang wrote: On 2019/9/26 下午9:14, Tiwei Bie wrote: On Thu, Sep 26, 2019 at 04:35:18AM

Re: [PATCH] vhost: introduce mdev based hardware backend

2019-09-27 Thread Jason Wang
On 2019/9/27 下午5:41, Michael S. Tsirkin wrote: On Fri, Sep 27, 2019 at 11:27:12AM +0800, Jason Wang wrote: On 2019/9/26 下午9:14, Tiwei Bie wrote: On Thu, Sep 26, 2019 at 04:35:18AM -0400, Michael S. Tsirkin wrote: On Thu, Sep 26, 2019 at 12:54:27PM +0800, Tiwei Bie wrote: [...] diff --git

Re: [PATCH] vhost: introduce mdev based hardware backend

2019-09-27 Thread Jason Wang
On 2019/9/27 下午5:38, Michael S. Tsirkin wrote: On Fri, Sep 27, 2019 at 04:47:43PM +0800, Jason Wang wrote: On 2019/9/27 下午12:54, Tiwei Bie wrote: On Fri, Sep 27, 2019 at 11:46:06AM +0800, Jason Wang wrote: On 2019/9/26 下午12:54, Tiwei Bie wrote: + +static long vhost_mdev_start(struct

Re: [PATCH] vhost: introduce mdev based hardware backend

2019-09-27 Thread Jason Wang
On 2019/9/27 下午12:54, Tiwei Bie wrote: On Fri, Sep 27, 2019 at 11:46:06AM +0800, Jason Wang wrote: On 2019/9/26 下午12:54, Tiwei Bie wrote: + +static long vhost_mdev_start(struct vhost_mdev *m) +{ + struct mdev_device *mdev = m->mdev; + const struct virtio_mdev_device_ops *

Re: [PATCH] vhost: introduce mdev based hardware backend

2019-09-27 Thread Jason Wang
On 2019/9/27 下午4:04, Tiwei Bie wrote: On Fri, Sep 27, 2019 at 03:14:42PM +0800, Jason Wang wrote: On 2019/9/27 下午12:54, Tiwei Bie wrote: + + /* +* In vhost-mdev, userspace should pass ring addresses +* in guest physical addresses when IOMMU

Re: [PATCH] vhost: introduce mdev based hardware backend

2019-09-27 Thread Jason Wang
On 2019/9/27 下午12:54, Tiwei Bie wrote: The name could be confusing, get_queue_max() is to get the maximum number of entries for a virtqueue supported by this device. OK. It might be better to rename it to something like: get_vq_num_max() which is more consistent with the

Re: [PATCH] vhost: introduce mdev based hardware backend

2019-09-27 Thread Jason Wang
On 2019/9/27 下午12:54, Tiwei Bie wrote: + + /* +* In vhost-mdev, userspace should pass ring addresses +* in guest physical addresses when IOMMU is disabled or +* IOVAs when IOMMU is enabled. +*/ A question here,

Re: [PATCH] vhost: introduce mdev based hardware backend

2019-09-26 Thread Jason Wang
On 2019/9/27 上午11:46, Jason Wang wrote: + +static struct mdev_class_id id_table[] = { +    { MDEV_ID_VHOST }, +    { 0 }, +}; + +static struct mdev_driver vhost_mdev_driver = { +    .name    = "vhost_mdev", +    .probe    = vhost_mdev_probe, +    .remove    = vhost_mdev_remove, +   

Re: [PATCH] vhost: introduce mdev based hardware backend

2019-09-26 Thread Jason Wang
On 2019/9/26 下午12:54, Tiwei Bie wrote: This patch introduces a mdev based hardware vhost backend. This backend is built on top of the same abstraction used in virtio-mdev and provides a generic vhost interface for userspace to accelerate the virtio devices in guest. This backend is

Re: [PATCH] vhost: introduce mdev based hardware backend

2019-09-26 Thread Jason Wang
On 2019/9/26 下午9:14, Tiwei Bie wrote: On Thu, Sep 26, 2019 at 04:35:18AM -0400, Michael S. Tsirkin wrote: On Thu, Sep 26, 2019 at 12:54:27PM +0800, Tiwei Bie wrote: [...] diff --git a/include/uapi/linux/vhost.h b/include/uapi/linux/vhost.h index 40d028eed645..5afbc2f08fa3 100644 ---

Re: [PATCH net-next] tuntap: Fallback to automq on TUNSETSTEERINGEBPF prog negative return

2019-09-24 Thread Jason Wang
On 2019/9/24 上午12:31, Matt Cover wrote: I think it's better to safe to just drop the packet instead of trying to workaround it. This patch aside, dropping the packet here seems like the wrong choice. Loading a prog at this hookpoint "configures" steering. The action of configuring steering

Re: [PATCH] vhost: It's better to use size_t for the 3rd parameter of vhost_exceeds_weight()

2019-09-24 Thread Jason Wang
On 2019/9/23 下午5:12, wangxu (AE) wrote: Hi Michael Thanks for your fast reply. As the following code, the 2nd branch of iov_iter_advance() does not check if i->count < size, when this happens, i->count -= size may cause len exceed INT_MAX, and then total_len exceed INT_MAX.

Re: [PATCH] virtio_mmio: remove redundant dev_err message

2019-09-24 Thread Jason Wang
On 2019/9/24 下午3:21, Ding Xiang wrote: platform_get_irq already contains error message, Is this message contained in all possible error path? If not, it's probably better to keep it as is. Thanks so remove the redundant dev_err message Signed-off-by: Ding Xiang ---

[PATCH V2 7/8] virtio: introduce a mdev based transport

2019-09-24 Thread Jason Wang
the device with mdev based config ops. This means it is a software transport between mdev driver and mdev device. The transport was implemented through device specific opswhich is a part of mdev_parent_ops now. Signed-off-by: Jason Wang --- drivers/virtio/Kconfig | 7 + drivers/virtio

Re: [PATCH 1/6] mdev: class id support

2019-09-24 Thread Jason Wang
On 2019/9/24 上午5:02, Parav Pandit wrote: > Hi Jason, > > >> -Original Message- >> From: Jason Wang >> Sent: Monday, September 23, 2019 8:03 AM >> To: k...@vger.kernel.org; linux-s...@vger.kernel.org; linux- >> ker...@vger.kernel.org; dri-d

[PATCH 4/6] virtio: introduce a mdev based transport

2019-09-23 Thread Jason Wang
the device with mdev based config ops. This means it is a software transport between mdev driver and mdev device. The transport was implemented through device specific opswhich is a part of mdev_parent_ops now. Signed-off-by: Jason Wang --- MAINTAINERS | 1 + drivers/vfio/mdev

Re: [PATCH net-next] tuntap: Fallback to automq on TUNSETSTEERINGEBPF prog negative return

2019-09-22 Thread Jason Wang
On 2019/9/23 上午11:18, Matt Cover wrote: On Sun, Sep 22, 2019 at 7:34 PM Jason Wang wrote: On 2019/9/23 上午9:15, Matt Cover wrote: On Sun, Sep 22, 2019 at 5:51 PM Jason Wang wrote: On 2019/9/23 上午6:30, Matt Cover wrote: On Sun, Sep 22, 2019 at 1:36 PM Michael S. Tsirkin wrote: On Sun

Re: [PATCH net-next] tuntap: Fallback to automq on TUNSETSTEERINGEBPF prog negative return

2019-09-22 Thread Jason Wang
On 2019/9/23 上午11:00, Matt Cover wrote: On Sun, Sep 22, 2019 at 7:32 PM Jason Wang wrote: On 2019/9/23 上午9:20, Matt Cover wrote: On Sun, Sep 22, 2019 at 5:46 PM Jason Wang wrote: On 2019/9/23 上午1:43, Matt Cover wrote: On Sun, Sep 22, 2019 at 5:37 AM Michael S. Tsirkin wrote: On Fri

Re: [PATCH net-next] tuntap: Fallback to automq on TUNSETSTEERINGEBPF prog negative return

2019-09-22 Thread Jason Wang
On 2019/9/23 上午9:15, Matt Cover wrote: On Sun, Sep 22, 2019 at 5:51 PM Jason Wang wrote: On 2019/9/23 上午6:30, Matt Cover wrote: On Sun, Sep 22, 2019 at 1:36 PM Michael S. Tsirkin wrote: On Sun, Sep 22, 2019 at 10:43:19AM -0700, Matt Cover wrote: On Sun, Sep 22, 2019 at 5:37 AM Michael S

Re: [PATCH net-next] tuntap: Fallback to automq on TUNSETSTEERINGEBPF prog negative return

2019-09-22 Thread Jason Wang
On 2019/9/23 上午9:20, Matt Cover wrote: On Sun, Sep 22, 2019 at 5:46 PM Jason Wang wrote: On 2019/9/23 上午1:43, Matt Cover wrote: On Sun, Sep 22, 2019 at 5:37 AM Michael S. Tsirkin wrote: On Fri, Sep 20, 2019 at 11:58:43AM -0700, Matthew Cover wrote: Treat a negative return from

Re: [PATCH net-next] tuntap: Fallback to automq on TUNSETSTEERINGEBPF prog negative return

2019-09-22 Thread Jason Wang
On 2019/9/23 上午6:30, Matt Cover wrote: On Sun, Sep 22, 2019 at 1:36 PM Michael S. Tsirkin wrote: On Sun, Sep 22, 2019 at 10:43:19AM -0700, Matt Cover wrote: On Sun, Sep 22, 2019 at 5:37 AM Michael S. Tsirkin wrote: On Fri, Sep 20, 2019 at 11:58:43AM -0700, Matthew Cover wrote: Treat a

Re: [PATCH net-next] tuntap: Fallback to automq on TUNSETSTEERINGEBPF prog negative return

2019-09-22 Thread Jason Wang
On 2019/9/23 上午1:43, Matt Cover wrote: On Sun, Sep 22, 2019 at 5:37 AM Michael S. Tsirkin wrote: On Fri, Sep 20, 2019 at 11:58:43AM -0700, Matthew Cover wrote: Treat a negative return from a TUNSETSTEERINGEBPF bpf prog as a signal to fallback to tun_automq_select_queue() for tx queue

[RFC PATCH V2 4/6] virtio: introudce a mdev based transport

2019-09-20 Thread Jason Wang
the device with mdev based config ops. This means, unlike the exist hardware transport, this is a software transport between mdev driver and mdev device. The transport was implemented through device specific ops which is a part of mdev_parent_ops now. Signed-off-by: Jason Wang --- drivers/vfio/mdev

Re: [RFC v4 0/3] vhost: introduce mdev based hardware backend

2019-09-19 Thread Jason Wang
On 2019/9/20 上午10:16, Tiwei Bie wrote: On Fri, Sep 20, 2019 at 09:30:58AM +0800, Jason Wang wrote: On 2019/9/19 下午11:45, Tiwei Bie wrote: On Thu, Sep 19, 2019 at 09:08:11PM +0800, Jason Wang wrote: On 2019/9/18 下午10:32, Michael S. Tsirkin wrote: So I have some questions: 1) Compared

Re: [RFC {net,iproute2}-next 0/2] Introduce an eBPF hookpoint for tx queue selection in the XPS (Transmit Packet Steering) code.

2019-09-19 Thread Jason Wang
On 2019/9/20 上午8:05, Matt Cover wrote: On Thu, Sep 19, 2019 at 3:45 PM Matthew Cover wrote: WORK IN PROGRESS: * bpf program loading works! * txq steering via bpf program return code works! * bpf program unloading not working. * bpf program attached query not working. This patch

Re: [RFC v4 0/3] vhost: introduce mdev based hardware backend

2019-09-19 Thread Jason Wang
On 2019/9/19 下午11:45, Tiwei Bie wrote: On Thu, Sep 19, 2019 at 09:08:11PM +0800, Jason Wang wrote: On 2019/9/18 下午10:32, Michael S. Tsirkin wrote: So I have some questions: 1) Compared to method 2, what's the advantage of creating a new vhost char device? I guess it's for keep the API

Re: [RFC v4 0/3] vhost: introduce mdev based hardware backend

2019-09-19 Thread Jason Wang
On 2019/9/19 下午11:45, Tiwei Bie wrote: On Thu, Sep 19, 2019 at 09:08:11PM +0800, Jason Wang wrote: On 2019/9/18 下午10:32, Michael S. Tsirkin wrote: So I have some questions: 1) Compared to method 2, what's the advantage of creating a new vhost char device? I guess it's for keep the API

Re: [RFC v4 0/3] vhost: introduce mdev based hardware backend

2019-09-19 Thread Jason Wang
On 2019/9/18 下午10:32, Michael S. Tsirkin wrote: So I have some questions: 1) Compared to method 2, what's the advantage of creating a new vhost char device? I guess it's for keep the API compatibility? One benefit is that we can avoid doing vhost ioctls on VFIO device fd. Yes, but any

Re: [RFC PATCH 2/4] mdev: introduce helper to set per device dma ops

2019-09-17 Thread Jason Wang
On 2019/9/18 上午3:00, Alex Williamson wrote: On Tue, 10 Sep 2019 16:19:33 +0800 Jason Wang wrote: This patch introduces mdev_set_dma_ops() which allows parent to set per device DMA ops. This help for the kernel driver to setup a correct DMA mappings. Signed-off-by: Jason Wang --- drivers

Re: [RFC v4 0/3] vhost: introduce mdev based hardware backend

2019-09-17 Thread Jason Wang
On 2019/9/17 下午6:58, Tiwei Bie wrote: On Tue, Sep 17, 2019 at 11:32:03AM +0800, Jason Wang wrote: On 2019/9/17 上午9:02, Tiwei Bie wrote: This RFC is to demonstrate below ideas, a) Build vhost-mdev on top of the same abstraction defined in the virtio-mdev series [1]; b) Introduce /dev

Re: [RFC v4 3/3] vhost: introduce mdev based hardware backend

2019-09-17 Thread Jason Wang
On 2019/9/17 上午9:02, Tiwei Bie wrote: More details about this patch can be found from the cover letter for now. Only compile test has been done for now. Signed-off-by: Tiwei Bie --- drivers/vhost/Kconfig| 9 + drivers/vhost/Makefile | 3 + drivers/vhost/mdev.c

Re: [RFC v4 0/3] vhost: introduce mdev based hardware backend

2019-09-16 Thread Jason Wang
On 2019/9/17 上午9:02, Tiwei Bie wrote: This RFC is to demonstrate below ideas, a) Build vhost-mdev on top of the same abstraction defined in the virtio-mdev series [1]; b) Introduce /dev/vhost-mdev to do vhost ioctls and support setting mdev device as backend; Now the userspace API

Re: [RFC v4 0/3] vhost: introduce mdev based hardware backend

2019-09-16 Thread Jason Wang
On 2019/9/17 上午9:02, Tiwei Bie wrote: This RFC is to demonstrate below ideas, a) Build vhost-mdev on top of the same abstraction defined in the virtio-mdev series [1]; b) Introduce /dev/vhost-mdev to do vhost ioctls and support setting mdev device as backend; Now the userspace API

[RFC PATCH 0/2] Mdev: support mutiple kinds of devices

2019-09-12 Thread Jason Wang
and move vfio callbacks there Sent for early reivew, compile test only! Thanks [1] https://lkml.org/lkml/2019/9/10/135 Jason Wang (2): mdev: device id support mdev: introduce device specific ops drivers/gpu/drm/i915/gvt/kvmgt.c | 16 --- drivers/s390/cio/vfio_ccw_ops.c | 16

Re: [RFC PATCH 3/4] virtio: introudce a mdev based transport

2019-09-11 Thread Jason Wang
On 2019/9/11 下午5:36, Michael S. Tsirkin wrote: On Wed, Sep 11, 2019 at 10:38:39AM +0800, Jason Wang wrote: On 2019/9/10 下午9:52, Michael S. Tsirkin wrote: On Tue, Sep 10, 2019 at 09:13:02PM +0800, Jason Wang wrote: On 2019/9/10 下午6:01, Michael S. Tsirkin wrote: +#ifndef _LINUX_VIRTIO_MDEV_H

Re: [RFC PATCH 3/4] virtio: introudce a mdev based transport

2019-09-10 Thread Jason Wang
On 2019/9/11 上午9:47, Tiwei Bie wrote: On Tue, Sep 10, 2019 at 04:19:34PM +0800, Jason Wang wrote: This path introduces a new mdev transport for virtio. This is used to use kernel virtio driver to drive the mediated device that is capable of populating virtqueue directly. A new virtio-mdev

Re: [RFC PATCH 3/4] virtio: introudce a mdev based transport

2019-09-10 Thread Jason Wang
On 2019/9/10 下午9:52, Michael S. Tsirkin wrote: On Tue, Sep 10, 2019 at 09:13:02PM +0800, Jason Wang wrote: On 2019/9/10 下午6:01, Michael S. Tsirkin wrote: +#ifndef _LINUX_VIRTIO_MDEV_H +#define _LINUX_VIRTIO_MDEV_H + +#include +#include +#include + +/* + * Ioctls + */ Pls add a bit more

Re: [RFC PATCH 4/4] docs: Sample driver to demonstrate how to implement virtio-mdev framework

2019-09-10 Thread Jason Wang
On 2019/9/10 下午6:15, Michael S. Tsirkin wrote: On Tue, Sep 10, 2019 at 04:19:35PM +0800, Jason Wang wrote: This sample driver creates mdev device that simulate virtio net device over virtio mdev transport. The device is implemented through vringh and workqueue. Signed-off-by: Jason Wang

Re: [RFC PATCH 3/4] virtio: introudce a mdev based transport

2019-09-10 Thread Jason Wang
On 2019/9/10 下午6:01, Michael S. Tsirkin wrote: +#ifndef _LINUX_VIRTIO_MDEV_H +#define _LINUX_VIRTIO_MDEV_H + +#include +#include +#include + +/* + * Ioctls + */ Pls add a bit more content here. It's redundant to state these are ioctls. Much better to document what does each one do. Ok.

[RFC PATCH 4/4] docs: Sample driver to demonstrate how to implement virtio-mdev framework

2019-09-10 Thread Jason Wang
This sample driver creates mdev device that simulate virtio net device over virtio mdev transport. The device is implemented through vringh and workqueue. Signed-off-by: Jason Wang --- samples/Kconfig| 7 + samples/vfio-mdev/Makefile | 1 + samples/vfio-mdev/mvnet.c | 766

[RFC PATCH 3/4] virtio: introudce a mdev based transport

2019-09-10 Thread Jason Wang
ending mdev_parent_ops. - for a quick POC, I just drive the transport from MMIO, I'm pretty there's lot of optimization space for this. Signed-off-by: Jason Wang --- drivers/vfio/mdev/Kconfig| 7 + drivers/vfio/mdev/Makefile | 1 + drivers/vfio/mdev/virtio_mdev.c

[RFC PATCH 2/4] mdev: introduce helper to set per device dma ops

2019-09-10 Thread Jason Wang
This patch introduces mdev_set_dma_ops() which allows parent to set per device DMA ops. This help for the kernel driver to setup a correct DMA mappings. Signed-off-by: Jason Wang --- drivers/vfio/mdev/mdev_core.c | 7 +++ include/linux/mdev.h | 2 ++ 2 files changed, 9 insertions

[RFC PATCH 1/4] vringh: fix copy direction of vringh_iov_push_kern()

2019-09-10 Thread Jason Wang
We want to copy from iov to buf, so the direction was wrong. Signed-off-by: Jason Wang --- drivers/vhost/vringh.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c index 08ad0d1f0476..a0a2d74967ef 100644 --- a/drivers

[RFC PATCH 0/4] mdev based hardware virtio offloading support

2019-09-10 Thread Jason Wang
and this could be addressed by inventing new parent_ops. - For quick POC, mdev transport was just derived from virtio-MMIO, I'm pretty sure it has lots of space to be optimized, please share your thought. Please review. [1] https://lkml.org/lkml/2019/8/28/35 Jason Wang (4): vringh: fix copy

Re: [RFC PATCH untested] vhost: block speculation of translated descriptors

2019-09-10 Thread Jason Wang
On 2019/9/10 下午2:48, Michael S. Tsirkin wrote: On Tue, Sep 10, 2019 at 09:52:10AM +0800, Jason Wang wrote: On 2019/9/9 下午10:45, Michael S. Tsirkin wrote: On Mon, Sep 09, 2019 at 03:19:55PM +0800, Jason Wang wrote: On 2019/9/8 下午7:05, Michael S. Tsirkin wrote: iovec addresses coming from

Re: [RFC PATCH untested] vhost: block speculation of translated descriptors

2019-09-09 Thread Jason Wang
On 2019/9/9 下午10:45, Michael S. Tsirkin wrote: On Mon, Sep 09, 2019 at 03:19:55PM +0800, Jason Wang wrote: On 2019/9/8 下午7:05, Michael S. Tsirkin wrote: iovec addresses coming from vhost are assumed to be pre-validated, but in fact can be speculated to a value out of range. Userspace

Re: [PATCH 2/2] vhost: re-introducing metadata acceleration through kernel virtual address

2019-09-09 Thread Jason Wang
On 2019/9/9 下午12:45, Michael S. Tsirkin wrote: Since idx can be speculated, I guess we need array_index_nospec here? So we have ACQUIRE(mmu_lock) get idx RELEASE(mmu_lock) ACQUIRE(mmu_lock) read array[idx] RELEASE(mmu_lock) Then I think idx can't be speculated consider we've passed

Re: [RFC PATCH untested] vhost: block speculation of translated descriptors

2019-09-09 Thread Jason Wang
On 2019/9/8 下午7:05, Michael S. Tsirkin wrote: iovec addresses coming from vhost are assumed to be pre-validated, but in fact can be speculated to a value out of range. Userspace address are later validated with array_index_nospec so we can be sure kernel info does not leak through these

Re: [PATCH 0/2] Revert and rework on the metadata accelreation

2019-09-09 Thread Jason Wang
On 2019/9/6 下午9:15, David Miller wrote: From: Jason Wang Date: Fri, 6 Sep 2019 18:02:35 +0800 On 2019/9/5 下午9:59, Jason Gunthorpe wrote: I think you should apply the revert this cycle and rebase the other patch for next.. Jason Yes, the plan is to revert in this release cycle. Then you

Re: [PATCH 1/2] Revert "vhost: access vq metadata through kernel virtual address"

2019-09-09 Thread Jason Wang
On 2019/9/6 下午9:46, Michael S. Tsirkin wrote: On Thu, Sep 05, 2019 at 08:27:35PM +0800, Jason Wang wrote: It was reported that metadata acceleration introduces several issues, so this patch reverts commit ff466032dc9e5a61217f22ea34b2df932786bbfc, 73f628ec9e6bcc45b77c53fe6d0c0ec55eaf82af

Re: [PATCH 2/2] vhost: re-introducing metadata acceleration through kernel virtual address

2019-09-08 Thread Jason Wang
On 2019/9/9 上午10:18, Jason Wang wrote: On a elder CPU Sandy Bridge without SMAP support. TX PPS doesn't see any difference. Why is not Kaby Lake with SMAP off the same as Sandy Bridge? I don't know, I guess it was because the atomic is l Sorry, I meant atomic costs less for Kaby Lake

Re: [PATCH 0/2] Revert and rework on the metadata accelreation

2019-09-08 Thread Jason Wang
On 2019/9/7 下午11:03, Jason Gunthorpe wrote: On Fri, Sep 06, 2019 at 06:02:35PM +0800, Jason Wang wrote: On 2019/9/5 下午9:59, Jason Gunthorpe wrote: On Thu, Sep 05, 2019 at 08:27:34PM +0800, Jason Wang wrote: Hi: Per request from Michael and Jason, the metadata accelreation is reverted

Re: [PATCH 2/2] vhost: re-introducing metadata acceleration through kernel virtual address

2019-09-08 Thread Jason Wang
On 2019/9/8 下午7:05, Michael S. Tsirkin wrote: On Thu, Sep 05, 2019 at 08:27:36PM +0800, Jason Wang wrote: This is a rework on the commit 7f466032dc9e ("vhost: access vq metadata through kernel virtual address"). It was noticed that the copy_to/from_user() friends that was used

Re: [PATCH 2/2] vhost: re-introducing metadata acceleration through kernel virtual address

2019-09-06 Thread Jason Wang
On 2019/9/6 上午11:21, Hillf Danton wrote: On Thu, 5 Sep 2019 20:27:36 +0800 From: Jason Wang +static void vhost_set_map_dirty(struct vhost_virtqueue *vq, + struct vhost_map *map, int index) +{ + struct vhost_uaddr *uaddr = >uaddrs[index]; + in

Re: [PATCH 0/2] Revert and rework on the metadata accelreation

2019-09-06 Thread Jason Wang
On 2019/9/5 下午9:59, Jason Gunthorpe wrote: On Thu, Sep 05, 2019 at 08:27:34PM +0800, Jason Wang wrote: Hi: Per request from Michael and Jason, the metadata accelreation is reverted in this version and rework in next version. Please review. Thanks Jason Wang (2): Revert "vhost: a

[PATCH 2/2] vhost: re-introducing metadata acceleration through kernel virtual address

2019-09-05 Thread Jason Wang
ernel.org Signed-off-by: Jason Wang Signed-off-by: Michael S. Tsirkin --- drivers/vhost/vhost.c | 551 +- drivers/vhost/vhost.h | 41 2 files changed, 589 insertions(+), 3 deletions(-) diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.

[PATCH 1/2] Revert "vhost: access vq metadata through kernel virtual address"

2019-09-05 Thread Jason Wang
-off-by: Jason Wang --- drivers/vhost/vhost.c | 515 +- drivers/vhost/vhost.h | 41 2 files changed, 3 insertions(+), 553 deletions(-) diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 0536f8526359..791562e03fe0 100644 --- a/drivers/vhost

[PATCH 0/2] Revert and rework on the metadata accelreation

2019-09-05 Thread Jason Wang
Hi: Per request from Michael and Jason, the metadata accelreation is reverted in this version and rework in next version. Please review. Thanks Jason Wang (2): Revert "vhost: access vq metadata through kernel virtual address" vhost: re-introducing metadata acceleration thro

Re: [RFC v3] vhost: introduce mdev based hardware vhost backend

2019-09-03 Thread Jason Wang
On 2019/9/4 上午10:48, Tiwei Bie wrote: On Tue, Sep 03, 2019 at 07:26:03AM -0400, Michael S. Tsirkin wrote: On Wed, Aug 28, 2019 at 01:37:12PM +0800, Tiwei Bie wrote: Details about this can be found here: https://lwn.net/Articles/750770/ What's new in this version ==

Re: [RFC v3] vhost: introduce mdev based hardware vhost backend

2019-09-02 Thread Jason Wang
On 2019/9/3 上午9:56, Tiwei Bie wrote: On Mon, Sep 02, 2019 at 12:15:05PM +0800, Jason Wang wrote: On 2019/8/28 下午1:37, Tiwei Bie wrote: Details about this can be found here: https://lwn.net/Articles/750770/ What's new in this version == There are three choices based

Re: [RFC v3] vhost: introduce mdev based hardware vhost backend

2019-09-01 Thread Jason Wang
On 2019/8/28 下午1:37, Tiwei Bie wrote: Details about this can be found here: https://lwn.net/Articles/750770/ What's new in this version == There are three choices based on the discussion [1] in RFC v2: #1. We expose a VFIO device, so we can reuse the VFIO

Re: [PATCH] virtio: Change typecasts in vring_init()

2019-08-29 Thread Jason Wang
On 2019/8/27 下午11:20, Matej Genci wrote: > Compilers such as g++ 7.3 complain about assigning void* variable to > a non-void* variable (like struct pointers) and pointer arithmetics > on void*. > > Signed-off-by: Matej Genci > --- > include/uapi/linux/virtio_ring.h | 9 + > 1 file

Re: [PATCH 2/2] vhost/test: fix build for vhost test

2019-08-29 Thread Jason Wang
VHOST_TEST_VQ] = >vqs[VHOST_TEST_VQ]; > n->vqs[VHOST_TEST_VQ].handle_kick = handle_vq_kick; > - vhost_dev_init(dev, vqs, VHOST_TEST_VQ_MAX, UIO_MAXIOV); > + vhost_dev_init(dev, vqs, VHOST_TEST_VQ_MAX, UIO_MAXIOV, > +VHOST_TEST_PKT_WEIGHT, VHOST_TEST_WEIGHT); > > f->private_data = n; > Acked-by: Jason Wang

Re: [PATCH 1/2] vhost/test: fix build for vhost test

2019-08-29 Thread Jason Wang
pen(struct inode *inode, struct > file *f) > dev = >dev; > vqs[VHOST_TEST_VQ] = >vqs[VHOST_TEST_VQ]; > n->vqs[VHOST_TEST_VQ].handle_kick = handle_vq_kick; > - vhost_dev_init(dev, vqs, VHOST_TEST_VQ_MAX); > + vhost_dev_init(dev, vqs, VHOST_TES

Re: [PATCH V5 0/9] Fixes for vhost metadata acceleration

2019-08-19 Thread Jason Wang
On 2019/8/20 上午5:08, Michael S. Tsirkin wrote: On Tue, Aug 13, 2019 at 04:12:49PM +0800, Jason Wang wrote: On 2019/8/12 下午5:49, Michael S. Tsirkin wrote: On Mon, Aug 12, 2019 at 10:44:51AM +0800, Jason Wang wrote: On 2019/8/11 上午1:52, Michael S. Tsirkin wrote: On Fri, Aug 09, 2019 at 01:48

Re: [PATCH v2] virtio-net: lower min ring num_free for efficiency

2019-08-15 Thread Jason Wang
_delayed_work(>refill, 0); } Acked-by: Jason Wang

Re: [PATCH] virtio-net: lower min ring num_free for efficiency

2019-08-15 Thread Jason Wang
On 2019/8/15 下午4:36, 冉 jiang wrote: On 2019/8/15 11:17, Jason Wang wrote: On 2019/8/15 上午11:11, 冉 jiang wrote: On 2019/8/15 11:01, Jason Wang wrote: On 2019/8/14 上午10:06, ? jiang wrote: This change lowers ring buffer reclaim threshold from 1/2*queue to budget for better performance

Re: [PATCH] virtio-net: lower min ring num_free for efficiency

2019-08-15 Thread Jason Wang
On 2019/8/15 下午4:36, 冉 jiang wrote: On 2019/8/15 11:17, Jason Wang wrote: On 2019/8/15 上午11:11, 冉 jiang wrote: On 2019/8/15 11:01, Jason Wang wrote: On 2019/8/14 上午10:06, ? jiang wrote: This change lowers ring buffer reclaim threshold from 1/2*queue to budget for better performance

Re: [PATCH V5 0/9] Fixes for vhost metadata acceleration

2019-08-14 Thread Jason Wang
On 2019/8/14 上午12:41, Christoph Hellwig wrote: On Tue, Aug 13, 2019 at 08:57:07AM -0300, Jason Gunthorpe wrote: On Tue, Aug 13, 2019 at 04:31:07PM +0800, Jason Wang wrote: What kind of issues do you see? Spinlock is to synchronize GUP with MMU notifier in this series. A GUP that can't

Re: [PATCH V5 0/9] Fixes for vhost metadata acceleration

2019-08-14 Thread Jason Wang
On 2019/8/13 下午7:57, Jason Gunthorpe wrote: On Tue, Aug 13, 2019 at 04:31:07PM +0800, Jason Wang wrote: What kind of issues do you see? Spinlock is to synchronize GUP with MMU notifier in this series. A GUP that can't sleep can't pagefault which makes it a really weird pattern My

Re: [PATCH] virtio-net: lower min ring num_free for efficiency

2019-08-14 Thread Jason Wang
On 2019/8/15 上午11:11, 冉 jiang wrote: On 2019/8/15 11:01, Jason Wang wrote: On 2019/8/14 上午10:06, ? jiang wrote: This change lowers ring buffer reclaim threshold from 1/2*queue to budget for better performance. According to our test with qemu + dpdk, packet dropping happens when the guest

Re: [PATCH] virtio-net: lower min ring num_free for efficiency

2019-08-14 Thread Jason Wang
On 2019/8/14 上午10:06, ? jiang wrote: This change lowers ring buffer reclaim threshold from 1/2*queue to budget for better performance. According to our test with qemu + dpdk, packet dropping happens when the guest is not able to provide free buffer in avail ring timely with default 1/2*queue.

Re: [PATCH V5 0/9] Fixes for vhost metadata acceleration

2019-08-13 Thread Jason Wang
On 2019/8/12 下午9:02, Jason Gunthorpe wrote: On Mon, Aug 12, 2019 at 05:49:08AM -0400, Michael S. Tsirkin wrote: On Mon, Aug 12, 2019 at 10:44:51AM +0800, Jason Wang wrote: On 2019/8/11 上午1:52, Michael S. Tsirkin wrote: On Fri, Aug 09, 2019 at 01:48:42AM -0400, Jason Wang wrote: Hi all

Re: [PATCH V5 0/9] Fixes for vhost metadata acceleration

2019-08-13 Thread Jason Wang
On 2019/8/12 下午5:49, Michael S. Tsirkin wrote: On Mon, Aug 12, 2019 at 10:44:51AM +0800, Jason Wang wrote: On 2019/8/11 上午1:52, Michael S. Tsirkin wrote: On Fri, Aug 09, 2019 at 01:48:42AM -0400, Jason Wang wrote: Hi all: This series try to fix several issues introduced by meta data

Re: [PATCH v3 2/2] virtio: decrement avail idx with buffer detach for packed ring

2019-08-11 Thread Jason Wang
return buf; } Acked-by: Jason Wang

Re: [PATCH V5 0/9] Fixes for vhost metadata acceleration

2019-08-11 Thread Jason Wang
On 2019/8/11 上午1:52, Michael S. Tsirkin wrote: On Fri, Aug 09, 2019 at 01:48:42AM -0400, Jason Wang wrote: Hi all: This series try to fix several issues introduced by meta data accelreation series. Please review. Changes from V4: - switch to use spinlock synchronize MMU notifier

[PATCH V5 4/9] vhost: reset invalidate_count in vhost_set_vring_num_addr()

2019-08-08 Thread Jason Wang
accessor path. Fixing by reset the count to zero. Reported-by: Michael S. Tsirkin Fixes: 7f466032dc9e ("vhost: access vq metadata through kernel virtual address") Signed-off-by: Jason Wang --- drivers/vhost/vhost.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/vhost

[PATCH V5 3/9] vhost: fix vhost map leak

2019-08-08 Thread Jason Wang
We don't free map during vhost_map_unprefetch(). This means it could be leaked. Fixing by free the map. Reported-by: Michael S. Tsirkin Fixes: 7f466032dc9e ("vhost: access vq metadata through kernel virtual address") Signed-off-by: Jason Wang --- drivers/vhost/vhost.c | 4 +--- 1 fi

[PATCH V5 6/9] vhost: don't do synchronize_rcu() in vhost_uninit_vq_maps()

2019-08-08 Thread Jason Wang
: 7f466032dc9e ("vhost: access vq metadata through kernel virtual address") Signed-off-by: Jason Wang --- drivers/vhost/vhost.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index c12cdadb0855..cfc11f9ed9c9 100644 ---

<    4   5   6   7   8   9   10   11   12   13   >