From 1f8fda72d1e6355d7dcda331914029489ef453fc Mon Sep 17 00:00:00 2001 From: Alexander Schmidt Date: Fri, 4 Dec 2015 15:28:20 +0000 Subject: [PATCH] Update AIO mode spec with recent comments There was a valuable discussion in the review which I would like to include in the approved spec for future reference. Change-Id: Ifada0c71d9a77f0e34f371d6883e9f0f0b5f5866 Implements: blueprint libvirt-aio-mode --- specs/mitaka/approved/libvirt-aio-mode.rst | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/specs/mitaka/approved/libvirt-aio-mode.rst b/specs/mitaka/approved/libvirt-aio-mode.rst index db9e9a7a7..8b0c506af 100644 --- a/specs/mitaka/approved/libvirt-aio-mode.rst +++ b/specs/mitaka/approved/libvirt-aio-mode.rst @@ -65,9 +65,10 @@ attachment of the guest disk. Restrictions on when to use native AIO mode ------------------------------------------- -* native AIO mode is a bad idea if the storage is not fully pre-allocated, - e.g. for qcow2 images that grow on demand or sparse LVM storage (source: - danpb / KVM maintainers) +* Native AIO mode will not be enabled for sparse images as it can cause + Qemu threads to be blocked when filesystem metadata need to be updated. + This issue is much more unlikely to appear when using preallocated + images. For the full discussion, see the IRC log in `[4]`_. * AIO mode has no effect if using the in-qemu network clients (any disks that use ). It is only relevant if using the in-kernel network drivers (source: danpb) @@ -182,15 +183,18 @@ should be updated. References ========== -* General overview on AIO: +* _`[1]` General overview on AIO: http://www.ibm.com/developerworks/library/l-async/ -* Best practices: Asynchronous I/O model for KVM guests +* _`[2]` Best practices: Asynchronous I/O model for KVM guests https://www-01.ibm.com/support/knowledgecenter/linuxonibm/liaat/liaatbpkvmasynchio.htm -* Libvirt and QEMU Performance Tweaks for KVM Guests +* _`[3]` Libvirt and QEMU Performance Tweaks for KVM Guests "http://wiki.mikejung.biz/KVM/_Xen#AIO_Modes" +* _`[4]` qemu irc log + http://paste.openstack.org/show/480498/ + History =======