From: "Michael S. Tsirkin" <mst@redhat.com>
To: Zha Bin <zhabin@linux.alibaba.com>
Cc: linux-kernel@vger.kernel.org, jasowang@redhat.com,
slp@redhat.com, virtio-dev@lists.oasis-open.org,
qemu-devel@nongnu.org, gerry@linux.alibaba.com,
jing2.liu@linux.intel.com, chao.p.peng@linux.intel.com
Subject: [virtio-dev] Re: [PATCH v2 1/5] virtio-mmio: add notify feature for per-queue
Date: Tue, 11 Feb 2020 05:50:48 -0500 [thread overview]
Message-ID: <20200211055005-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <8a4ea95d6d77a2814aaf6897b5517353289a098e.1581305609.git.zhabin@linux.alibaba.com>
On Mon, Feb 10, 2020 at 05:05:17PM +0800, Zha Bin wrote:
> From: Liu Jiang <gerry@linux.alibaba.com>
>
> The standard virtio-mmio devices use notification register to signal
> backend. This will cause vmexits and slow down the performance when we
> passthrough the virtio-mmio devices to guest virtual machines.
> We proposed to update virtio over MMIO spec to add the per-queue
> notify feature VIRTIO_F_MMIO_NOTIFICATION[1]. It can allow the VMM to
> configure notify location for each queue.
>
> [1] https://lkml.org/lkml/2020/1/21/31
>
> Signed-off-by: Liu Jiang <gerry@linux.alibaba.com>
> Co-developed-by: Zha Bin <zhabin@linux.alibaba.com>
> Signed-off-by: Zha Bin <zhabin@linux.alibaba.com>
> Co-developed-by: Jing Liu <jing2.liu@linux.intel.com>
> Signed-off-by: Jing Liu <jing2.liu@linux.intel.com>
> Co-developed-by: Chao Peng <chao.p.peng@linux.intel.com>
> Signed-off-by: Chao Peng <chao.p.peng@linux.intel.com>
So this is for pass-through for nested virt?
OK but let's split this out please, and benchmark separately.
> ---
> drivers/virtio/virtio_mmio.c | 37 +++++++++++++++++++++++++++++++++++--
> include/uapi/linux/virtio_config.h | 8 +++++++-
> 2 files changed, 42 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c
> index 97d5725..1733ab97 100644
> --- a/drivers/virtio/virtio_mmio.c
> +++ b/drivers/virtio/virtio_mmio.c
> @@ -90,6 +90,9 @@ struct virtio_mmio_device {
> /* a list of queues so we can dispatch IRQs */
> spinlock_t lock;
> struct list_head virtqueues;
> +
> + unsigned short notify_base;
> + unsigned short notify_multiplier;
> };
>
> struct virtio_mmio_vq_info {
> @@ -98,6 +101,9 @@ struct virtio_mmio_vq_info {
>
> /* the list node for the virtqueues list */
> struct list_head node;
> +
> + /* Notify Address*/
> + unsigned int notify_addr;
> };
>
>
> @@ -119,13 +125,23 @@ static u64 vm_get_features(struct virtio_device *vdev)
> return features;
> }
>
> +static void vm_transport_features(struct virtio_device *vdev, u64 features)
> +{
> + if (features & BIT_ULL(VIRTIO_F_MMIO_NOTIFICATION))
> + __virtio_set_bit(vdev, VIRTIO_F_MMIO_NOTIFICATION);
> +}
> +
> static int vm_finalize_features(struct virtio_device *vdev)
> {
> struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev);
> + u64 features = vdev->features;
>
> /* Give virtio_ring a chance to accept features. */
> vring_transport_features(vdev);
>
> + /* Give virtio_mmio a chance to accept features. */
> + vm_transport_features(vdev, features);
> +
> /* Make sure there is are no mixed devices */
> if (vm_dev->version == 2 &&
> !__virtio_test_bit(vdev, VIRTIO_F_VERSION_1)) {
> @@ -272,10 +288,13 @@ static void vm_reset(struct virtio_device *vdev)
> static bool vm_notify(struct virtqueue *vq)
> {
> struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vq->vdev);
> + struct virtio_mmio_vq_info *info = vq->priv;
>
> - /* We write the queue's selector into the notification register to
> + /* We write the queue's selector into the Notify Address to
> * signal the other end */
> - writel(vq->index, vm_dev->base + VIRTIO_MMIO_QUEUE_NOTIFY);
> + if (info)
> + writel(vq->index, vm_dev->base + info->notify_addr);
> +
> return true;
> }
>
> @@ -434,6 +453,12 @@ static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned index,
> vq->priv = info;
> info->vq = vq;
>
> + if (__virtio_test_bit(vdev, VIRTIO_F_MMIO_NOTIFICATION))
> + info->notify_addr = vm_dev->notify_base +
> + vm_dev->notify_multiplier * vq->index;
> + else
> + info->notify_addr = VIRTIO_MMIO_QUEUE_NOTIFY;
> +
> spin_lock_irqsave(&vm_dev->lock, flags);
> list_add(&info->node, &vm_dev->virtqueues);
> spin_unlock_irqrestore(&vm_dev->lock, flags);
> @@ -471,6 +496,14 @@ static int vm_find_vqs(struct virtio_device *vdev, unsigned nvqs,
> return irq;
> }
>
> + if (__virtio_test_bit(vdev, VIRTIO_F_MMIO_NOTIFICATION)) {
> + unsigned int notify = readl(vm_dev->base +
> + VIRTIO_MMIO_QUEUE_NOTIFY);
> +
> + vm_dev->notify_base = notify & 0xffff;
> + vm_dev->notify_multiplier = (notify >> 16) & 0xffff;
> + }
> +
> err = request_irq(irq, vm_interrupt, IRQF_SHARED,
> dev_name(&vdev->dev), vm_dev);
> if (err)
> diff --git a/include/uapi/linux/virtio_config.h b/include/uapi/linux/virtio_config.h
> index ff8e7dc..5d93c01 100644
> --- a/include/uapi/linux/virtio_config.h
> +++ b/include/uapi/linux/virtio_config.h
> @@ -52,7 +52,7 @@
> * rest are per-device feature bits.
> */
> #define VIRTIO_TRANSPORT_F_START 28
> -#define VIRTIO_TRANSPORT_F_END 38
> +#define VIRTIO_TRANSPORT_F_END 40
>
> #ifndef VIRTIO_CONFIG_NO_LEGACY
> /* Do we get callbacks when the ring is completely used, even if we've
> @@ -88,4 +88,10 @@
> * Does the device support Single Root I/O Virtualization?
> */
> #define VIRTIO_F_SR_IOV 37
> +
> +/*
> + * This feature indicates the enhanced notification support on MMIO transport
> + * layer.
> + */
> +#define VIRTIO_F_MMIO_NOTIFICATION 39
> #endif /* _UAPI_LINUX_VIRTIO_CONFIG_H */
> --
> 1.8.3.1
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Zha Bin <zhabin@linux.alibaba.com>
Cc: linux-kernel@vger.kernel.org, jasowang@redhat.com,
slp@redhat.com, virtio-dev@lists.oasis-open.org,
qemu-devel@nongnu.org, gerry@linux.alibaba.com,
jing2.liu@linux.intel.com, chao.p.peng@linux.intel.com
Subject: Re: [PATCH v2 1/5] virtio-mmio: add notify feature for per-queue
Date: Tue, 11 Feb 2020 05:50:48 -0500 [thread overview]
Message-ID: <20200211055005-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <8a4ea95d6d77a2814aaf6897b5517353289a098e.1581305609.git.zhabin@linux.alibaba.com>
On Mon, Feb 10, 2020 at 05:05:17PM +0800, Zha Bin wrote:
> From: Liu Jiang <gerry@linux.alibaba.com>
>
> The standard virtio-mmio devices use notification register to signal
> backend. This will cause vmexits and slow down the performance when we
> passthrough the virtio-mmio devices to guest virtual machines.
> We proposed to update virtio over MMIO spec to add the per-queue
> notify feature VIRTIO_F_MMIO_NOTIFICATION[1]. It can allow the VMM to
> configure notify location for each queue.
>
> [1] https://lkml.org/lkml/2020/1/21/31
>
> Signed-off-by: Liu Jiang <gerry@linux.alibaba.com>
> Co-developed-by: Zha Bin <zhabin@linux.alibaba.com>
> Signed-off-by: Zha Bin <zhabin@linux.alibaba.com>
> Co-developed-by: Jing Liu <jing2.liu@linux.intel.com>
> Signed-off-by: Jing Liu <jing2.liu@linux.intel.com>
> Co-developed-by: Chao Peng <chao.p.peng@linux.intel.com>
> Signed-off-by: Chao Peng <chao.p.peng@linux.intel.com>
So this is for pass-through for nested virt?
OK but let's split this out please, and benchmark separately.
> ---
> drivers/virtio/virtio_mmio.c | 37 +++++++++++++++++++++++++++++++++++--
> include/uapi/linux/virtio_config.h | 8 +++++++-
> 2 files changed, 42 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c
> index 97d5725..1733ab97 100644
> --- a/drivers/virtio/virtio_mmio.c
> +++ b/drivers/virtio/virtio_mmio.c
> @@ -90,6 +90,9 @@ struct virtio_mmio_device {
> /* a list of queues so we can dispatch IRQs */
> spinlock_t lock;
> struct list_head virtqueues;
> +
> + unsigned short notify_base;
> + unsigned short notify_multiplier;
> };
>
> struct virtio_mmio_vq_info {
> @@ -98,6 +101,9 @@ struct virtio_mmio_vq_info {
>
> /* the list node for the virtqueues list */
> struct list_head node;
> +
> + /* Notify Address*/
> + unsigned int notify_addr;
> };
>
>
> @@ -119,13 +125,23 @@ static u64 vm_get_features(struct virtio_device *vdev)
> return features;
> }
>
> +static void vm_transport_features(struct virtio_device *vdev, u64 features)
> +{
> + if (features & BIT_ULL(VIRTIO_F_MMIO_NOTIFICATION))
> + __virtio_set_bit(vdev, VIRTIO_F_MMIO_NOTIFICATION);
> +}
> +
> static int vm_finalize_features(struct virtio_device *vdev)
> {
> struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev);
> + u64 features = vdev->features;
>
> /* Give virtio_ring a chance to accept features. */
> vring_transport_features(vdev);
>
> + /* Give virtio_mmio a chance to accept features. */
> + vm_transport_features(vdev, features);
> +
> /* Make sure there is are no mixed devices */
> if (vm_dev->version == 2 &&
> !__virtio_test_bit(vdev, VIRTIO_F_VERSION_1)) {
> @@ -272,10 +288,13 @@ static void vm_reset(struct virtio_device *vdev)
> static bool vm_notify(struct virtqueue *vq)
> {
> struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vq->vdev);
> + struct virtio_mmio_vq_info *info = vq->priv;
>
> - /* We write the queue's selector into the notification register to
> + /* We write the queue's selector into the Notify Address to
> * signal the other end */
> - writel(vq->index, vm_dev->base + VIRTIO_MMIO_QUEUE_NOTIFY);
> + if (info)
> + writel(vq->index, vm_dev->base + info->notify_addr);
> +
> return true;
> }
>
> @@ -434,6 +453,12 @@ static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned index,
> vq->priv = info;
> info->vq = vq;
>
> + if (__virtio_test_bit(vdev, VIRTIO_F_MMIO_NOTIFICATION))
> + info->notify_addr = vm_dev->notify_base +
> + vm_dev->notify_multiplier * vq->index;
> + else
> + info->notify_addr = VIRTIO_MMIO_QUEUE_NOTIFY;
> +
> spin_lock_irqsave(&vm_dev->lock, flags);
> list_add(&info->node, &vm_dev->virtqueues);
> spin_unlock_irqrestore(&vm_dev->lock, flags);
> @@ -471,6 +496,14 @@ static int vm_find_vqs(struct virtio_device *vdev, unsigned nvqs,
> return irq;
> }
>
> + if (__virtio_test_bit(vdev, VIRTIO_F_MMIO_NOTIFICATION)) {
> + unsigned int notify = readl(vm_dev->base +
> + VIRTIO_MMIO_QUEUE_NOTIFY);
> +
> + vm_dev->notify_base = notify & 0xffff;
> + vm_dev->notify_multiplier = (notify >> 16) & 0xffff;
> + }
> +
> err = request_irq(irq, vm_interrupt, IRQF_SHARED,
> dev_name(&vdev->dev), vm_dev);
> if (err)
> diff --git a/include/uapi/linux/virtio_config.h b/include/uapi/linux/virtio_config.h
> index ff8e7dc..5d93c01 100644
> --- a/include/uapi/linux/virtio_config.h
> +++ b/include/uapi/linux/virtio_config.h
> @@ -52,7 +52,7 @@
> * rest are per-device feature bits.
> */
> #define VIRTIO_TRANSPORT_F_START 28
> -#define VIRTIO_TRANSPORT_F_END 38
> +#define VIRTIO_TRANSPORT_F_END 40
>
> #ifndef VIRTIO_CONFIG_NO_LEGACY
> /* Do we get callbacks when the ring is completely used, even if we've
> @@ -88,4 +88,10 @@
> * Does the device support Single Root I/O Virtualization?
> */
> #define VIRTIO_F_SR_IOV 37
> +
> +/*
> + * This feature indicates the enhanced notification support on MMIO transport
> + * layer.
> + */
> +#define VIRTIO_F_MMIO_NOTIFICATION 39
> #endif /* _UAPI_LINUX_VIRTIO_CONFIG_H */
> --
> 1.8.3.1
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Zha Bin <zhabin@linux.alibaba.com>
Cc: virtio-dev@lists.oasis-open.org, slp@redhat.com,
jasowang@redhat.com, jing2.liu@linux.intel.com,
linux-kernel@vger.kernel.org, qemu-devel@nongnu.org,
chao.p.peng@linux.intel.com, gerry@linux.alibaba.com
Subject: Re: [PATCH v2 1/5] virtio-mmio: add notify feature for per-queue
Date: Tue, 11 Feb 2020 05:50:48 -0500 [thread overview]
Message-ID: <20200211055005-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <8a4ea95d6d77a2814aaf6897b5517353289a098e.1581305609.git.zhabin@linux.alibaba.com>
On Mon, Feb 10, 2020 at 05:05:17PM +0800, Zha Bin wrote:
> From: Liu Jiang <gerry@linux.alibaba.com>
>
> The standard virtio-mmio devices use notification register to signal
> backend. This will cause vmexits and slow down the performance when we
> passthrough the virtio-mmio devices to guest virtual machines.
> We proposed to update virtio over MMIO spec to add the per-queue
> notify feature VIRTIO_F_MMIO_NOTIFICATION[1]. It can allow the VMM to
> configure notify location for each queue.
>
> [1] https://lkml.org/lkml/2020/1/21/31
>
> Signed-off-by: Liu Jiang <gerry@linux.alibaba.com>
> Co-developed-by: Zha Bin <zhabin@linux.alibaba.com>
> Signed-off-by: Zha Bin <zhabin@linux.alibaba.com>
> Co-developed-by: Jing Liu <jing2.liu@linux.intel.com>
> Signed-off-by: Jing Liu <jing2.liu@linux.intel.com>
> Co-developed-by: Chao Peng <chao.p.peng@linux.intel.com>
> Signed-off-by: Chao Peng <chao.p.peng@linux.intel.com>
So this is for pass-through for nested virt?
OK but let's split this out please, and benchmark separately.
> ---
> drivers/virtio/virtio_mmio.c | 37 +++++++++++++++++++++++++++++++++++--
> include/uapi/linux/virtio_config.h | 8 +++++++-
> 2 files changed, 42 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c
> index 97d5725..1733ab97 100644
> --- a/drivers/virtio/virtio_mmio.c
> +++ b/drivers/virtio/virtio_mmio.c
> @@ -90,6 +90,9 @@ struct virtio_mmio_device {
> /* a list of queues so we can dispatch IRQs */
> spinlock_t lock;
> struct list_head virtqueues;
> +
> + unsigned short notify_base;
> + unsigned short notify_multiplier;
> };
>
> struct virtio_mmio_vq_info {
> @@ -98,6 +101,9 @@ struct virtio_mmio_vq_info {
>
> /* the list node for the virtqueues list */
> struct list_head node;
> +
> + /* Notify Address*/
> + unsigned int notify_addr;
> };
>
>
> @@ -119,13 +125,23 @@ static u64 vm_get_features(struct virtio_device *vdev)
> return features;
> }
>
> +static void vm_transport_features(struct virtio_device *vdev, u64 features)
> +{
> + if (features & BIT_ULL(VIRTIO_F_MMIO_NOTIFICATION))
> + __virtio_set_bit(vdev, VIRTIO_F_MMIO_NOTIFICATION);
> +}
> +
> static int vm_finalize_features(struct virtio_device *vdev)
> {
> struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev);
> + u64 features = vdev->features;
>
> /* Give virtio_ring a chance to accept features. */
> vring_transport_features(vdev);
>
> + /* Give virtio_mmio a chance to accept features. */
> + vm_transport_features(vdev, features);
> +
> /* Make sure there is are no mixed devices */
> if (vm_dev->version == 2 &&
> !__virtio_test_bit(vdev, VIRTIO_F_VERSION_1)) {
> @@ -272,10 +288,13 @@ static void vm_reset(struct virtio_device *vdev)
> static bool vm_notify(struct virtqueue *vq)
> {
> struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vq->vdev);
> + struct virtio_mmio_vq_info *info = vq->priv;
>
> - /* We write the queue's selector into the notification register to
> + /* We write the queue's selector into the Notify Address to
> * signal the other end */
> - writel(vq->index, vm_dev->base + VIRTIO_MMIO_QUEUE_NOTIFY);
> + if (info)
> + writel(vq->index, vm_dev->base + info->notify_addr);
> +
> return true;
> }
>
> @@ -434,6 +453,12 @@ static struct virtqueue *vm_setup_vq(struct virtio_device *vdev, unsigned index,
> vq->priv = info;
> info->vq = vq;
>
> + if (__virtio_test_bit(vdev, VIRTIO_F_MMIO_NOTIFICATION))
> + info->notify_addr = vm_dev->notify_base +
> + vm_dev->notify_multiplier * vq->index;
> + else
> + info->notify_addr = VIRTIO_MMIO_QUEUE_NOTIFY;
> +
> spin_lock_irqsave(&vm_dev->lock, flags);
> list_add(&info->node, &vm_dev->virtqueues);
> spin_unlock_irqrestore(&vm_dev->lock, flags);
> @@ -471,6 +496,14 @@ static int vm_find_vqs(struct virtio_device *vdev, unsigned nvqs,
> return irq;
> }
>
> + if (__virtio_test_bit(vdev, VIRTIO_F_MMIO_NOTIFICATION)) {
> + unsigned int notify = readl(vm_dev->base +
> + VIRTIO_MMIO_QUEUE_NOTIFY);
> +
> + vm_dev->notify_base = notify & 0xffff;
> + vm_dev->notify_multiplier = (notify >> 16) & 0xffff;
> + }
> +
> err = request_irq(irq, vm_interrupt, IRQF_SHARED,
> dev_name(&vdev->dev), vm_dev);
> if (err)
> diff --git a/include/uapi/linux/virtio_config.h b/include/uapi/linux/virtio_config.h
> index ff8e7dc..5d93c01 100644
> --- a/include/uapi/linux/virtio_config.h
> +++ b/include/uapi/linux/virtio_config.h
> @@ -52,7 +52,7 @@
> * rest are per-device feature bits.
> */
> #define VIRTIO_TRANSPORT_F_START 28
> -#define VIRTIO_TRANSPORT_F_END 38
> +#define VIRTIO_TRANSPORT_F_END 40
>
> #ifndef VIRTIO_CONFIG_NO_LEGACY
> /* Do we get callbacks when the ring is completely used, even if we've
> @@ -88,4 +88,10 @@
> * Does the device support Single Root I/O Virtualization?
> */
> #define VIRTIO_F_SR_IOV 37
> +
> +/*
> + * This feature indicates the enhanced notification support on MMIO transport
> + * layer.
> + */
> +#define VIRTIO_F_MMIO_NOTIFICATION 39
> #endif /* _UAPI_LINUX_VIRTIO_CONFIG_H */
> --
> 1.8.3.1
next prev parent reply other threads:[~2020-02-11 10:50 UTC|newest]
Thread overview: 104+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-10 9:05 [PATCH v2 0/5] virtio mmio specification enhancement Zha Bin
2020-02-10 9:05 ` Zha Bin
2020-02-10 9:05 ` [PATCH v2 1/5] virtio-mmio: add notify feature for per-queue Zha Bin
2020-02-10 9:05 ` Zha Bin
2020-02-11 10:50 ` Michael S. Tsirkin [this message]
2020-02-11 10:50 ` Michael S. Tsirkin
2020-02-11 10:50 ` Michael S. Tsirkin
2020-02-11 11:33 ` [virtio-dev] " Michael S. Tsirkin
2020-02-11 11:33 ` Michael S. Tsirkin
2020-02-11 11:33 ` Michael S. Tsirkin
2020-02-12 3:39 ` [virtio-dev] " Jason Wang
2020-02-12 3:39 ` Jason Wang
2020-02-12 8:18 ` [virtio-dev] " Michael S. Tsirkin
2020-02-12 8:18 ` Michael S. Tsirkin
2020-02-12 8:18 ` Michael S. Tsirkin
2020-02-12 8:53 ` [virtio-dev] " Jason Wang
2020-02-12 8:53 ` Jason Wang
2020-02-12 8:53 ` Jason Wang
2020-02-12 9:33 ` [virtio-dev] " Jason Wang
2020-02-12 9:33 ` Jason Wang
2020-02-12 9:33 ` Jason Wang
2020-02-12 9:55 ` [virtio-dev] " Michael S. Tsirkin
2020-02-12 9:55 ` Michael S. Tsirkin
2020-02-12 9:55 ` Michael S. Tsirkin
2020-02-13 3:38 ` [virtio-dev] " Jason Wang
2020-02-13 3:38 ` Jason Wang
2020-02-10 9:05 ` [PATCH v2 2/5] virtio-mmio: refactor common functionality Zha Bin
2020-02-10 9:05 ` Zha Bin
2020-02-11 11:19 ` [virtio-dev] " Michael S. Tsirkin
2020-02-11 11:19 ` Michael S. Tsirkin
2020-02-11 11:19 ` Michael S. Tsirkin
2020-02-12 2:58 ` [virtio-dev] " Liu, Jing2
2020-02-12 2:58 ` Liu, Jing2
2020-02-12 2:58 ` Liu, Jing2
2020-02-12 7:29 ` Michael S. Tsirkin
2020-02-12 7:29 ` Michael S. Tsirkin
2020-02-12 7:29 ` Michael S. Tsirkin
2020-02-10 9:05 ` [PATCH v2 3/5] virtio-mmio: create a generic MSI irq domain Zha Bin
2020-02-10 9:05 ` Zha Bin
2020-02-11 11:16 ` [virtio-dev] " Michael S. Tsirkin
2020-02-11 11:16 ` Michael S. Tsirkin
2020-02-11 11:16 ` Michael S. Tsirkin
2020-02-12 7:40 ` [virtio-dev] " Michael S. Tsirkin
2020-02-12 7:40 ` Michael S. Tsirkin
2020-02-12 7:40 ` Michael S. Tsirkin
2020-02-10 9:05 ` [PATCH v2 4/5] virtio-mmio: add MSI interrupt feature support Zha Bin
2020-02-10 9:05 ` Zha Bin
2020-02-11 3:17 ` [virtio-dev] " Jason Wang
2020-02-11 3:17 ` Jason Wang
2020-02-11 3:35 ` [virtio-dev] " Liu, Jing2
2020-02-11 3:35 ` Liu, Jing2
2020-02-11 4:02 ` Jason Wang
2020-02-11 4:02 ` Jason Wang
2020-02-11 6:02 ` Liu, Jing2
2020-02-11 6:02 ` Liu, Jing2
2020-02-11 7:40 ` Jason Wang
2020-02-11 7:40 ` Jason Wang
2020-02-11 11:58 ` Michael S. Tsirkin
2020-02-11 11:58 ` Michael S. Tsirkin
2020-02-11 11:58 ` Michael S. Tsirkin
2020-02-11 12:04 ` Jason Wang
2020-02-11 12:04 ` Jason Wang
2020-02-11 12:08 ` Michael S. Tsirkin
2020-02-11 12:08 ` Michael S. Tsirkin
2020-02-11 12:18 ` Jason Wang
2020-02-11 12:18 ` Jason Wang
2020-02-11 14:00 ` Michael S. Tsirkin
2020-02-11 14:00 ` Michael S. Tsirkin
2020-02-12 9:03 ` Jason Wang
2020-02-12 9:03 ` Jason Wang
2020-02-12 9:15 ` Michael S. Tsirkin
2020-02-12 9:15 ` Michael S. Tsirkin
2020-02-12 3:54 ` Liu, Jing2
2020-02-12 3:54 ` Liu, Jing2
2020-02-12 7:33 ` Michael S. Tsirkin
2020-02-12 7:33 ` Michael S. Tsirkin
2020-02-12 7:33 ` Michael S. Tsirkin
2020-02-12 9:06 ` Jason Wang
2020-02-12 9:06 ` Jason Wang
2020-02-12 9:16 ` Michael S. Tsirkin
2020-02-12 9:16 ` Michael S. Tsirkin
2020-02-12 9:16 ` Michael S. Tsirkin
2020-02-13 3:40 ` Jason Wang
2020-02-13 3:40 ` Jason Wang
2020-02-13 3:40 ` Jason Wang
2020-02-11 11:21 ` Michael S. Tsirkin
2020-02-11 11:21 ` Michael S. Tsirkin
2020-02-11 11:21 ` Michael S. Tsirkin
2020-02-11 11:11 ` Michael S. Tsirkin
2020-02-11 11:11 ` Michael S. Tsirkin
2020-02-11 11:11 ` Michael S. Tsirkin
2020-02-10 9:05 ` [PATCH v2 5/5] x86: virtio-mmio: support virtio-mmio with MSI for x86 Zha Bin
2020-02-10 9:05 ` Zha Bin
2020-02-11 11:14 ` [virtio-dev] " Michael S. Tsirkin
2020-02-11 11:14 ` Michael S. Tsirkin
2020-02-11 11:14 ` Michael S. Tsirkin
2020-02-10 11:44 ` [virtio-dev] Re: [PATCH v2 0/5] virtio mmio specification enhancement Michael S. Tsirkin
2020-02-10 11:44 ` Michael S. Tsirkin
2020-02-10 11:44 ` Michael S. Tsirkin
2020-02-11 16:05 ` Chao Peng
2020-02-11 16:05 ` Chao Peng
2020-02-11 10:57 ` [virtio-dev] " Michael S. Tsirkin
2020-02-11 10:57 ` Michael S. Tsirkin
2020-02-11 10:57 ` Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200211055005-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=chao.p.peng@linux.intel.com \
--cc=gerry@linux.alibaba.com \
--cc=jasowang@redhat.com \
--cc=jing2.liu@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
--cc=slp@redhat.com \
--cc=virtio-dev@lists.oasis-open.org \
--cc=zhabin@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.