All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eugenio Perez Martin <eperezma@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Stefan Hajnoczi <stefanha@gmail.com>,
	qemu-level <qemu-devel@nongnu.org>,
	Lars Ganrot <lars.ganrot@gmail.com>,
	virtualization@lists.linux-foundation.org,
	Salil Mehta <mehta.salil.lnk@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Liran Alon <liralon@gmail.com>,
	Rob Miller <rob.miller@broadcom.com>,
	Max Gurtovoy <maxgu14@gmail.com>,
	Alex Barba <alex.barba@broadcom.com>,
	Jim Harford <jim.harford@broadcom.com>,
	Jason Wang <jasowang@redhat.com>,
	Harpreet Singh Anand <hanand@xilinx.com>,
	Christophe Fontaine <cfontain@redhat.com>,
	vm <vmireyno@marvell.com>, Daniel Daly <dandaly0@gmail.com>,
	Michael Lilja <ml@napatech.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Nitin Shrivastav <nitin.shrivastav@broadcom.com>,
	Lee Ballard <ballle98@gmail.com>,
	Dmytro Kazantsev <dmytro.kazantsev@gmail.com>,
	Juan Quintela <quintela@redhat.com>,
	kvm list <kvm@vger.kernel.org>, Howard Cai <howard.cai@gmail.com>,
	Xiao W Wang <xiao.w.wang@intel.com>,
	Sean Mooney <smooney@redhat.com>,
	Parav Pandit <parav@mellanox.com>, Eli Cohen <eli@mellanox.com>,
	Siwei Liu <loseweigh@gmail.com>,
	Stephen Finucane <stephenfin@redhat.com>
Subject: Re: [RFC PATCH 07/27] vhost: Route guest->host notification through qemu
Date: Thu, 21 Jan 2021 21:10:38 +0100	[thread overview]
Message-ID: <CAJaqyWcN2LWC+XmU6zSG-kgrfhGc4VXjG+zj2LgCe3haLfeRgg@mail.gmail.com> (raw)
In-Reply-To: <20201210115052.GG416119@stefanha-x1.localdomain>

On Thu, Dec 10, 2020 at 12:51 PM Stefan Hajnoczi <stefanha@redhat.com> wrote:
>
> On Wed, Dec 09, 2020 at 06:08:14PM +0100, Eugenio Perez Martin wrote:
> > On Mon, Dec 7, 2020 at 6:42 PM Stefan Hajnoczi <stefanha@gmail.com> wrote:
> > > On Fri, Nov 20, 2020 at 07:50:45PM +0100, Eugenio Pérez wrote:
> > > > +{
> > > > +    struct vhost_vring_file file = {
> > > > +        .index = idx
> > > > +    };
> > > > +    VirtQueue *vq = virtio_get_queue(dev->vdev, idx);
> > > > +    VhostShadowVirtqueue *svq;
> > > > +    int r;
> > > > +
> > > > +    svq = g_new0(VhostShadowVirtqueue, 1);
> > > > +    svq->vq = vq;
> > > > +
> > > > +    r = event_notifier_init(&svq->hdev_notifier, 0);
> > > > +    assert(r == 0);
> > > > +
> > > > +    file.fd = event_notifier_get_fd(&svq->hdev_notifier);
> > > > +    r = dev->vhost_ops->vhost_set_vring_kick(dev, &file);
> > > > +    assert(r == 0);
> > > > +
> > > > +    return svq;
> > > > +}
> > >
> > > I guess there are assumptions about the status of the device? Does the
> > > virtqueue need to be disabled when this function is called?
> > >
> >
> > Yes. Maybe an assertion checking the notification state?
>
> Sounds good.
>
> > > > +
> > > > +static int vhost_sw_live_migration_stop(struct vhost_dev *dev)
> > > > +{
> > > > +    int idx;
> > > > +
> > > > +    vhost_dev_enable_notifiers(dev, dev->vdev);
> > > > +    for (idx = 0; idx < dev->nvqs; ++idx) {
> > > > +        vhost_sw_lm_shadow_vq_free(dev->sw_lm_shadow_vq[idx]);
> > > > +    }
> > > > +
> > > > +    return 0;
> > > > +}
> > > > +
> > > > +static int vhost_sw_live_migration_start(struct vhost_dev *dev)
> > > > +{
> > > > +    int idx;
> > > > +
> > > > +    for (idx = 0; idx < dev->nvqs; ++idx) {
> > > > +        dev->sw_lm_shadow_vq[idx] = vhost_sw_lm_shadow_vq(dev, idx);
> > > > +    }
> > > > +
> > > > +    vhost_dev_disable_notifiers(dev, dev->vdev);
> > >
> > > There is a race condition if the guest kicks the vq while this is
> > > happening. The shadow vq hdev_notifier needs to be set so the vhost
> > > device checks the virtqueue for requests that slipped in during the
> > > race window.
> > >
> >
> > I'm not sure if I follow you. If I understand correctly,
> > vhost_dev_disable_notifiers calls virtio_bus_cleanup_host_notifier,
> > and the latter calls virtio_queue_host_notifier_read. That's why the
> > documentation says "This might actually run the qemu handlers right
> > away, so virtio in qemu must be completely setup when this is
> > called.". Am I missing something?
>
> There are at least two cases:
>
> 1. Virtqueue kicks that come before vhost_dev_disable_notifiers().
>    vhost_dev_disable_notifiers() notices that and calls
>    virtio_queue_notify_vq(). Will handle_sw_lm_vq() be invoked or is the
>    device's vq handler function invoked?
>

As I understand both the code and your question, no kick can call
handle_sw_lm_vq before vhost_dev_disable_notifiers (in particular,
before memory_region_add_eventfd calls in
virtio_{pci,mmio,ccw}_ioeventfd_assign(true) calls. So these will be
handled by the device.

> 2. Virtqueue kicks that come in after vhost_dev_disable_notifiers()
>    returns. We hold the QEMU global mutex so the vCPU thread cannot
>    perform MMIO/PIO dispatch immediately. The vCPU thread's
>    ioctl(KVM_RUN) has already returned and will dispatch dispatch the
>    MMIO/PIO access inside QEMU as soon as the global mutex is released.
>    In other words, we're not taking the kvm.ko ioeventfd path but
>    memory_region_dispatch_write_eventfds() should signal the ioeventfd
>    that is registered at the time the dispatch occurs. Is that eventfd
>    handled by handle_sw_lm_vq()?
>

I didn't think on that case, but it's being very difficult for me to
reproduce that behavior. It should be handled by handle_sw_lm_vq, but
maybe I'm trusting too much in vhost_dev_disable_notifiers.

> Neither of these cases are obvious from the code. At least comments
> would help but I suspect restructuring the code so the critical
> ioeventfd state changes happen in a sequence would make it even clearer.

Could you expand on this? That change is managed entirely by
virtio_bus_set_host_notifier, and the virtqueue callback is already
changed before the call to vhost_dev_disable_notifiers(). Did you mean
to restructure virtio_bus_set_host_notifier or
vhost_dev_disable_notifiers maybe?

Thanks!


WARNING: multiple messages have this Message-ID (diff)
From: Eugenio Perez Martin <eperezma@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: kvm list <kvm@vger.kernel.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	Jason Wang <jasowang@redhat.com>,
	qemu-level <qemu-devel@nongnu.org>,
	Daniel Daly <dandaly0@gmail.com>,
	virtualization@lists.linux-foundation.org,
	Liran Alon <liralon@gmail.com>, Eli Cohen <eli@mellanox.com>,
	Nitin Shrivastav <nitin.shrivastav@broadcom.com>,
	Alex Barba <alex.barba@broadcom.com>,
	Christophe Fontaine <cfontain@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	Lee Ballard <ballle98@gmail.com>,
	Lars Ganrot <lars.ganrot@gmail.com>,
	Rob Miller <rob.miller@broadcom.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Howard Cai <howard.cai@gmail.com>,
	Parav Pandit <parav@mellanox.com>, vm <vmireyno@marvell.com>,
	Salil Mehta <mehta.salil.lnk@gmail.com>,
	Stephen Finucane <stephenfin@redhat.com>,
	Xiao W Wang <xiao.w.wang@intel.com>,
	Sean Mooney <smooney@redhat.com>,
	Jim Harford <jim.harford@broadcom.com>,
	Dmytro Kazantsev <dmytro.kazantsev@gmail.com>,
	Siwei Liu <loseweigh@gmail.com>,
	Harpreet Singh Anand <hanand@xilinx.com>,
	Michael Lilja <ml@napatech.com>, Max Gurtovoy <maxgu14@gmail.com>
Subject: Re: [RFC PATCH 07/27] vhost: Route guest->host notification through qemu
Date: Thu, 21 Jan 2021 21:10:38 +0100	[thread overview]
Message-ID: <CAJaqyWcN2LWC+XmU6zSG-kgrfhGc4VXjG+zj2LgCe3haLfeRgg@mail.gmail.com> (raw)
In-Reply-To: <20201210115052.GG416119@stefanha-x1.localdomain>

On Thu, Dec 10, 2020 at 12:51 PM Stefan Hajnoczi <stefanha@redhat.com> wrote:
>
> On Wed, Dec 09, 2020 at 06:08:14PM +0100, Eugenio Perez Martin wrote:
> > On Mon, Dec 7, 2020 at 6:42 PM Stefan Hajnoczi <stefanha@gmail.com> wrote:
> > > On Fri, Nov 20, 2020 at 07:50:45PM +0100, Eugenio Pérez wrote:
> > > > +{
> > > > +    struct vhost_vring_file file = {
> > > > +        .index = idx
> > > > +    };
> > > > +    VirtQueue *vq = virtio_get_queue(dev->vdev, idx);
> > > > +    VhostShadowVirtqueue *svq;
> > > > +    int r;
> > > > +
> > > > +    svq = g_new0(VhostShadowVirtqueue, 1);
> > > > +    svq->vq = vq;
> > > > +
> > > > +    r = event_notifier_init(&svq->hdev_notifier, 0);
> > > > +    assert(r == 0);
> > > > +
> > > > +    file.fd = event_notifier_get_fd(&svq->hdev_notifier);
> > > > +    r = dev->vhost_ops->vhost_set_vring_kick(dev, &file);
> > > > +    assert(r == 0);
> > > > +
> > > > +    return svq;
> > > > +}
> > >
> > > I guess there are assumptions about the status of the device? Does the
> > > virtqueue need to be disabled when this function is called?
> > >
> >
> > Yes. Maybe an assertion checking the notification state?
>
> Sounds good.
>
> > > > +
> > > > +static int vhost_sw_live_migration_stop(struct vhost_dev *dev)
> > > > +{
> > > > +    int idx;
> > > > +
> > > > +    vhost_dev_enable_notifiers(dev, dev->vdev);
> > > > +    for (idx = 0; idx < dev->nvqs; ++idx) {
> > > > +        vhost_sw_lm_shadow_vq_free(dev->sw_lm_shadow_vq[idx]);
> > > > +    }
> > > > +
> > > > +    return 0;
> > > > +}
> > > > +
> > > > +static int vhost_sw_live_migration_start(struct vhost_dev *dev)
> > > > +{
> > > > +    int idx;
> > > > +
> > > > +    for (idx = 0; idx < dev->nvqs; ++idx) {
> > > > +        dev->sw_lm_shadow_vq[idx] = vhost_sw_lm_shadow_vq(dev, idx);
> > > > +    }
> > > > +
> > > > +    vhost_dev_disable_notifiers(dev, dev->vdev);
> > >
> > > There is a race condition if the guest kicks the vq while this is
> > > happening. The shadow vq hdev_notifier needs to be set so the vhost
> > > device checks the virtqueue for requests that slipped in during the
> > > race window.
> > >
> >
> > I'm not sure if I follow you. If I understand correctly,
> > vhost_dev_disable_notifiers calls virtio_bus_cleanup_host_notifier,
> > and the latter calls virtio_queue_host_notifier_read. That's why the
> > documentation says "This might actually run the qemu handlers right
> > away, so virtio in qemu must be completely setup when this is
> > called.". Am I missing something?
>
> There are at least two cases:
>
> 1. Virtqueue kicks that come before vhost_dev_disable_notifiers().
>    vhost_dev_disable_notifiers() notices that and calls
>    virtio_queue_notify_vq(). Will handle_sw_lm_vq() be invoked or is the
>    device's vq handler function invoked?
>

As I understand both the code and your question, no kick can call
handle_sw_lm_vq before vhost_dev_disable_notifiers (in particular,
before memory_region_add_eventfd calls in
virtio_{pci,mmio,ccw}_ioeventfd_assign(true) calls. So these will be
handled by the device.

> 2. Virtqueue kicks that come in after vhost_dev_disable_notifiers()
>    returns. We hold the QEMU global mutex so the vCPU thread cannot
>    perform MMIO/PIO dispatch immediately. The vCPU thread's
>    ioctl(KVM_RUN) has already returned and will dispatch dispatch the
>    MMIO/PIO access inside QEMU as soon as the global mutex is released.
>    In other words, we're not taking the kvm.ko ioeventfd path but
>    memory_region_dispatch_write_eventfds() should signal the ioeventfd
>    that is registered at the time the dispatch occurs. Is that eventfd
>    handled by handle_sw_lm_vq()?
>

I didn't think on that case, but it's being very difficult for me to
reproduce that behavior. It should be handled by handle_sw_lm_vq, but
maybe I'm trusting too much in vhost_dev_disable_notifiers.

> Neither of these cases are obvious from the code. At least comments
> would help but I suspect restructuring the code so the critical
> ioeventfd state changes happen in a sequence would make it even clearer.

Could you expand on this? That change is managed entirely by
virtio_bus_set_host_notifier, and the virtqueue callback is already
changed before the call to vhost_dev_disable_notifiers(). Did you mean
to restructure virtio_bus_set_host_notifier or
vhost_dev_disable_notifiers maybe?

Thanks!



  reply	other threads:[~2021-01-21 20:13 UTC|newest]

Thread overview: 186+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-20 18:50 [RFC PATCH 00/27] vDPA software assisted live migration Eugenio Pérez
2020-11-20 18:50 ` Eugenio Pérez
2020-11-20 18:50 ` [RFC PATCH 01/27] vhost: Add vhost_dev_can_log Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-11-20 18:50 ` [RFC PATCH 02/27] vhost: Add device callback in vhost_migration_log Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-12-07 16:19   ` Stefan Hajnoczi
2020-12-07 16:19     ` Stefan Hajnoczi
2020-12-07 16:19     ` Stefan Hajnoczi
2020-12-09 12:20     ` Eugenio Perez Martin
2020-12-09 12:20       ` Eugenio Perez Martin
2020-11-20 18:50 ` [RFC PATCH 03/27] vhost: Move log resize/put to vhost_dev_set_log Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-11-20 18:50 ` [RFC PATCH 04/27] vhost: add vhost_kernel_set_vring_enable Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-12-07 16:43   ` Stefan Hajnoczi
2020-12-07 16:43     ` Stefan Hajnoczi
2020-12-07 16:43     ` Stefan Hajnoczi
2020-12-09 12:00     ` Eugenio Perez Martin
2020-12-09 12:00       ` Eugenio Perez Martin
2020-12-09 16:08       ` Stefan Hajnoczi
2020-12-09 16:08         ` Stefan Hajnoczi
2020-12-09 16:08         ` Stefan Hajnoczi
2020-11-20 18:50 ` [RFC PATCH 05/27] vhost: Add hdev->dev.sw_lm_vq_handler Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-12-07 16:52   ` Stefan Hajnoczi
2020-12-07 16:52     ` Stefan Hajnoczi
2020-12-07 16:52     ` Stefan Hajnoczi
2020-12-09 15:02     ` Eugenio Perez Martin
2020-12-09 15:02       ` Eugenio Perez Martin
2020-12-10 11:30       ` Stefan Hajnoczi
2020-12-10 11:30         ` Stefan Hajnoczi
2020-12-10 11:30         ` Stefan Hajnoczi
2020-11-20 18:50 ` [RFC PATCH 06/27] virtio: Add virtio_queue_get_used_notify_split Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-12-07 16:58   ` Stefan Hajnoczi
2020-12-07 16:58     ` Stefan Hajnoczi
2020-12-07 16:58     ` Stefan Hajnoczi
2021-01-12 18:21     ` Eugenio Perez Martin
2021-01-12 18:21       ` Eugenio Perez Martin
2021-03-02 11:22       ` Stefan Hajnoczi
2021-03-02 11:22         ` Stefan Hajnoczi
2021-03-02 11:22         ` Stefan Hajnoczi
2021-03-02 18:34         ` Eugenio Perez Martin
2021-03-02 18:34           ` Eugenio Perez Martin
2021-03-08 10:46           ` Stefan Hajnoczi
2021-03-08 10:46             ` Stefan Hajnoczi
2021-03-08 10:46             ` Stefan Hajnoczi
2020-11-20 18:50 ` [RFC PATCH 07/27] vhost: Route guest->host notification through qemu Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-12-07 17:42   ` Stefan Hajnoczi
2020-12-07 17:42     ` Stefan Hajnoczi
2020-12-07 17:42     ` Stefan Hajnoczi
2020-12-09 17:08     ` Eugenio Perez Martin
2020-12-09 17:08       ` Eugenio Perez Martin
2020-12-10 11:50       ` Stefan Hajnoczi
2020-12-10 11:50         ` Stefan Hajnoczi
2020-12-10 11:50         ` Stefan Hajnoczi
2021-01-21 20:10         ` Eugenio Perez Martin [this message]
2021-01-21 20:10           ` Eugenio Perez Martin
2020-11-20 18:50 ` [RFC PATCH 08/27] vhost: Add a flag for software assisted Live Migration Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-12-08  7:20   ` Stefan Hajnoczi
2020-12-08  7:20     ` Stefan Hajnoczi
2020-12-08  7:20     ` Stefan Hajnoczi
2020-12-09 17:57     ` Eugenio Perez Martin
2020-12-09 17:57       ` Eugenio Perez Martin
2020-11-20 18:50 ` [RFC PATCH 09/27] vhost: Route host->guest notification through qemu Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-12-08  7:34   ` Stefan Hajnoczi
2020-12-08  7:34     ` Stefan Hajnoczi
2020-12-08  7:34     ` Stefan Hajnoczi
2020-11-20 18:50 ` [RFC PATCH 10/27] vhost: Allocate shadow vring Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-12-08  7:49   ` Stefan Hajnoczi
2020-12-08  7:49     ` Stefan Hajnoczi
2020-12-08  7:49     ` Stefan Hajnoczi
2020-12-08  8:17   ` Stefan Hajnoczi
2020-12-08  8:17     ` Stefan Hajnoczi
2020-12-08  8:17     ` Stefan Hajnoczi
2020-12-09 18:15     ` Eugenio Perez Martin
2020-12-09 18:15       ` Eugenio Perez Martin
2020-11-20 18:50 ` [RFC PATCH 11/27] virtio: const-ify all virtio_tswap* functions Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-11-20 18:50 ` [RFC PATCH 12/27] virtio: Add virtio_queue_full Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-11-20 18:50 ` [RFC PATCH 13/27] vhost: Send buffers to device Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-12-08  8:16   ` Stefan Hajnoczi
2020-12-08  8:16     ` Stefan Hajnoczi
2020-12-08  8:16     ` Stefan Hajnoczi
2020-12-09 18:41     ` Eugenio Perez Martin
2020-12-09 18:41       ` Eugenio Perez Martin
2020-12-10 11:55       ` Stefan Hajnoczi
2020-12-10 11:55         ` Stefan Hajnoczi
2020-12-10 11:55         ` Stefan Hajnoczi
2021-01-22 18:18         ` Eugenio Perez Martin
2021-01-22 18:18           ` Eugenio Perez Martin
     [not found]           ` <CAJaqyWdNeaboGaSsXPA8r=mUsbctFLzACFKLX55yRQpTvjqxJw@mail.gmail.com>
2021-03-22 10:51             ` Stefan Hajnoczi
2021-03-22 15:55               ` Eugenio Perez Martin
2021-03-22 17:40                 ` Stefan Hajnoczi
2021-03-24 19:04                   ` Eugenio Perez Martin
2021-03-24 19:56                     ` Stefan Hajnoczi
2020-11-20 18:50 ` [RFC PATCH 14/27] virtio: Remove virtio_queue_get_used_notify_split Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-11-20 18:50 ` [RFC PATCH 15/27] vhost: Do not invalidate signalled used Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-11-20 18:50 ` [RFC PATCH 16/27] virtio: Expose virtqueue_alloc_element Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-12-08  8:25   ` Stefan Hajnoczi
2020-12-08  8:25     ` Stefan Hajnoczi
2020-12-08  8:25     ` Stefan Hajnoczi
2020-12-09 18:46     ` Eugenio Perez Martin
2020-12-09 18:46       ` Eugenio Perez Martin
2020-12-10 11:57       ` Stefan Hajnoczi
2020-12-10 11:57         ` Stefan Hajnoczi
2020-12-10 11:57         ` Stefan Hajnoczi
2020-11-20 18:50 ` [RFC PATCH 17/27] vhost: add vhost_vring_set_notification_rcu Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-11-20 18:50 ` [RFC PATCH 18/27] vhost: add vhost_vring_poll_rcu Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-12-08  8:41   ` Stefan Hajnoczi
2020-12-08  8:41     ` Stefan Hajnoczi
2020-12-08  8:41     ` Stefan Hajnoczi
2020-12-09 18:48     ` Eugenio Perez Martin
2020-12-09 18:48       ` Eugenio Perez Martin
2020-11-20 18:50 ` [RFC PATCH 19/27] vhost: add vhost_vring_get_buf_rcu Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-11-20 18:50 ` [RFC PATCH 20/27] vhost: Return used buffers Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-12-08  8:50   ` Stefan Hajnoczi
2020-12-08  8:50     ` Stefan Hajnoczi
2020-12-08  8:50     ` Stefan Hajnoczi
2020-11-20 18:50 ` [RFC PATCH 21/27] vhost: Add vhost_virtqueue_memory_unmap Eugenio Pérez
2020-11-20 18:50   ` Eugenio Pérez
2020-11-20 18:51 ` [RFC PATCH 22/27] vhost: Add vhost_virtqueue_memory_map Eugenio Pérez
2020-11-20 18:51   ` Eugenio Pérez
2020-11-20 18:51 ` [RFC PATCH 23/27] vhost: unmap qemu's shadow virtqueues on sw live migration Eugenio Pérez
2020-11-20 18:51   ` Eugenio Pérez
2020-11-27 15:29   ` Stefano Garzarella
2020-11-27 15:29     ` Stefano Garzarella
2020-11-27 15:29     ` Stefano Garzarella
2020-11-30  7:54     ` Eugenio Perez Martin
2020-11-30  7:54       ` Eugenio Perez Martin
2020-11-20 18:51 ` [RFC PATCH 24/27] vhost: iommu changes Eugenio Pérez
2020-11-20 18:51   ` Eugenio Pérez
2020-12-08  9:02   ` Stefan Hajnoczi
2020-12-08  9:02     ` Stefan Hajnoczi
2020-12-08  9:02     ` Stefan Hajnoczi
2020-11-20 18:51 ` [RFC PATCH 25/27] vhost: Do not commit vhost used idx on vhost_virtqueue_stop Eugenio Pérez
2020-11-20 18:51   ` Eugenio Pérez
2020-11-20 19:35   ` Eugenio Perez Martin
2020-11-20 19:35     ` Eugenio Perez Martin
2020-11-20 18:51 ` [RFC PATCH 26/27] vhost: Add vhost_hdev_can_sw_lm Eugenio Pérez
2020-11-20 18:51   ` Eugenio Pérez
2020-11-20 18:51 ` [RFC PATCH 27/27] vhost: forbid vhost devices logging Eugenio Pérez
2020-11-20 18:51   ` Eugenio Pérez
2020-11-20 19:03 ` [RFC PATCH 00/27] vDPA software assisted live migration Eugenio Perez Martin
2020-11-20 19:03   ` Eugenio Perez Martin
2020-11-20 19:30 ` no-reply
2020-11-20 19:30   ` no-reply
2020-11-25  7:08 ` Jason Wang
2020-11-25  7:08   ` Jason Wang
2020-11-25  7:08   ` Jason Wang
2020-11-25 12:03   ` Eugenio Perez Martin
2020-11-25 12:03     ` Eugenio Perez Martin
2020-11-25 12:14     ` Eugenio Perez Martin
2020-11-25 12:14       ` Eugenio Perez Martin
2020-11-26  3:07     ` Jason Wang
2020-11-26  3:07       ` Jason Wang
2020-11-26  3:07       ` Jason Wang
2020-11-27 15:44 ` Stefano Garzarella
2020-11-27 15:44   ` Stefano Garzarella
2020-11-27 15:44   ` Stefano Garzarella
2020-12-08  9:37 ` Stefan Hajnoczi
2020-12-08  9:37   ` Stefan Hajnoczi
2020-12-08  9:37   ` Stefan Hajnoczi
2020-12-09  9:26   ` Jason Wang
2020-12-09  9:26     ` Jason Wang
2020-12-09  9:26     ` Jason Wang
2020-12-09 15:57     ` Stefan Hajnoczi
2020-12-09 15:57       ` Stefan Hajnoczi
2020-12-09 15:57       ` Stefan Hajnoczi
2020-12-10  9:12       ` Jason Wang
2020-12-10  9:12         ` Jason Wang
2020-12-10  9:12         ` Jason Wang

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=CAJaqyWcN2LWC+XmU6zSG-kgrfhGc4VXjG+zj2LgCe3haLfeRgg@mail.gmail.com \
    --to=eperezma@redhat.com \
    --cc=alex.barba@broadcom.com \
    --cc=ballle98@gmail.com \
    --cc=cfontain@redhat.com \
    --cc=dandaly0@gmail.com \
    --cc=dmytro.kazantsev@gmail.com \
    --cc=eli@mellanox.com \
    --cc=hanand@xilinx.com \
    --cc=howard.cai@gmail.com \
    --cc=jasowang@redhat.com \
    --cc=jim.harford@broadcom.com \
    --cc=kvm@vger.kernel.org \
    --cc=lars.ganrot@gmail.com \
    --cc=liralon@gmail.com \
    --cc=loseweigh@gmail.com \
    --cc=maxgu14@gmail.com \
    --cc=mehta.salil.lnk@gmail.com \
    --cc=ml@napatech.com \
    --cc=mst@redhat.com \
    --cc=nitin.shrivastav@broadcom.com \
    --cc=parav@mellanox.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=rob.miller@broadcom.com \
    --cc=sgarzare@redhat.com \
    --cc=smooney@redhat.com \
    --cc=stefanha@gmail.com \
    --cc=stefanha@redhat.com \
    --cc=stephenfin@redhat.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=vmireyno@marvell.com \
    --cc=xiao.w.wang@intel.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.