qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 00/10] virtio: avoid exit() when device enter


From: Cornelia Huck
Subject: Re: [Qemu-devel] [PATCH v3 00/10] virtio: avoid exit() when device enters invalid states
Date: Mon, 19 Sep 2016 18:07:40 +0200

On Tue, 12 Apr 2016 14:25:24 +0100
Stefan Hajnoczi <address@hidden> wrote:

> v3:
>  * Patch 1: Fix typo and clarify commit description [Markus]
>  * Use virtio_set_status() instead of open coding assignment [Cornelia]
>  * Add live migration
> 
> v2:
>  * Add VIRTIO_CONFIG_S_NEEDS_RESET notification for VIRTIO 1.0 [Cornelia]
>    (Note I've sent a Linux virtio_config.h patch to get the constant added to
>    the headers.)
>  * Split int -> unsigned int change into separate commit [Fam]
>  * Fix double "index" typo in commit description [Fam]
> 
> The virtio code calls exit() when the device enters an invalid state.  This
> means invalid vring indices and descriptor chains kill the VM.  See the patch
> descriptions for why this is a bad thing.
> 
> When the virtio device is in the broken state calls to virtqueue_pop() and
> friends will pretend the virtqueue is empty.  This means the device will 
> become
> isolated from guest activity until it is reset again.
> 
> RFC because two things are missing:
> 1. Live migration support (subsection for broken flag?)
> 2. Auditing devices and replacing exit() calls there too
> 
> Stefan Hajnoczi (10):
>   virtio: fix stray tab character
>   include: update virtio_config.h Linux header
>   virtio: stop virtqueue processing if device is broken
>   virtio: migrate vdev->broken flag
>   virtio: handle virtqueue_map_desc() errors
>   virtio: handle virtqueue_get_avail_bytes() errors
>   virtio: use unsigned int for virtqueue_get_avail_bytes() index
>   virtio: handle virtqueue_read_next_desc() errors
>   virtio: handle virtqueue_num_heads() errors
>   virtio: handle virtqueue_get_head() errors
> 
>  hw/virtio/virtio.c                             | 223 
> +++++++++++++++++++------
>  include/hw/virtio/virtio.h                     |   3 +
>  include/standard-headers/linux/virtio_config.h |   2 +
>  3 files changed, 181 insertions(+), 47 deletions(-)
> 

As the exit-in-virtio question has popped up several times in the
recent past: I think we should go forward with this series, even if we
still need to look at the individual devices. Do you have a version
that fits on current master?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]