)]}'
{"specs/mitaka/approved/libvirt-aio-mode.rst":[{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"4db1c71f53a107db8db6428223218f311aae411a","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Storage devices that are presented to instances can be backed by a variety"},{"line_number":23,"context_line":"of different storage backends. The sorage device can be an image residing"},{"line_number":24,"context_line":"in the file system of the hypervisor, or it can be a block device which"},{"line_number":25,"context_line":"is passed to the guest. Images can have different formats (raw, qcow2 etc.)"},{"line_number":26,"context_line":"and block devices can be backed by different hardware (ceph, iSCSI, fibre"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a2fa921_afbef062","line":23,"updated":"2015-10-08 13:42:56.000000000","message":"s/sorage/storage/","commit_id":"997978d916dfea3320fd1a6398046d2db0c790c8"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"a6ad018fea94608070b40caaee93ecdf04f3e16e","unresolved":false,"context_lines":[{"line_number":32,"context_line":"is set correctly for the underlying image/block device type."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Right now nova sticks with the default setting, using userspace threads"},{"line_number":35,"context_line":"for asynchronous IO."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a2fa921_e532c7f1","line":35,"updated":"2015-10-08 13:50:56.000000000","message":"FYI I hope to be able to point to a set of formal benchmark results soon comparing aio\u003dthreads vs aio\u003dnative for different storage types.\n\nThe unofficial results we\u0027ve collected so far indicate that, with latest QEMU upstream code, aio\u003dnative is a net performance win in *all* cases. The QEMU block maintainers have told me that if there are places where aio\u003dnative is not the best, they want to fix that. IOW the intention is that apps don\u0027t need to pick different aio settings, they can just rely on aio\u003dnative being best everywhere.\n\nAssuming the find benchmark results that are published continue to show aio\u003dnative being an overall winner, I think Nova should probably avoid trying to pick different settings for different storage and just change our default globally.  This might not be perfect for all old versions of QEMU, but going forward it should be perfect.","commit_id":"997978d916dfea3320fd1a6398046d2db0c790c8"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"25d3c814a5c06c7290cefd67cea7927036d0c2c6","unresolved":false,"context_lines":[{"line_number":32,"context_line":"is set correctly for the underlying image/block device type."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Right now nova sticks with the default setting, using userspace threads"},{"line_number":35,"context_line":"for asynchronous IO."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a2fa921_277db5e7","line":35,"in_reply_to":"7a2fa921_2c035c0f","updated":"2015-10-12 10:52:37.000000000","message":"So basically we currently have two possibilies:\na) make aio\u003dnative default\nb) Go on with this spec and add an option\nShould we bring this to the mailing list or the next nova weekly?","commit_id":"997978d916dfea3320fd1a6398046d2db0c790c8"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"475f221f7e5f46bcfb8ae35382ca9d52fd5c6c2d","unresolved":false,"context_lines":[{"line_number":32,"context_line":"is set correctly for the underlying image/block device type."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Right now nova sticks with the default setting, using userspace threads"},{"line_number":35,"context_line":"for asynchronous IO."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a2fa921_2c035c0f","line":35,"in_reply_to":"7a2fa921_b87cceec","updated":"2015-10-12 10:05:34.000000000","message":"Yes, unfortunately a hell of alot of information about setting aio\u003d that you find in wikis and docs is hopelessly outdated. The QEMU block layer has had massive amounts of work done in the last few years and most advice pre-dates that. This is why I\u0027m trying to get a modern set of benchmark results published.","commit_id":"997978d916dfea3320fd1a6398046d2db0c790c8"},{"author":{"_account_id":14594,"name":"Alexander Schmidt","email":"alexs@linux.vnet.ibm.com","username":"alexs"},"change_message_id":"c4b003f4007a1a5e319832f25ee57318a74f09b6","unresolved":false,"context_lines":[{"line_number":32,"context_line":"is set correctly for the underlying image/block device type."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Right now nova sticks with the default setting, using userspace threads"},{"line_number":35,"context_line":"for asynchronous IO."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a2fa921_f8fb2645","line":35,"in_reply_to":"7a2fa921_c37afc87","updated":"2015-10-09 09:03:28.000000000","message":"I had a quick look at the bug you mentioned, and it states that native vs threads did not make a difference, but only enabling the cache helped to solve it. See the comment:\n\nhttp://tracker.ceph.com/issues/12012#note-22","commit_id":"997978d916dfea3320fd1a6398046d2db0c790c8"},{"author":{"_account_id":14594,"name":"Alexander Schmidt","email":"alexs@linux.vnet.ibm.com","username":"alexs"},"change_message_id":"c4b003f4007a1a5e319832f25ee57318a74f09b6","unresolved":false,"context_lines":[{"line_number":32,"context_line":"is set correctly for the underlying image/block device type."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Right now nova sticks with the default setting, using userspace threads"},{"line_number":35,"context_line":"for asynchronous IO."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a2fa921_b87cceec","line":35,"in_reply_to":"7a2fa921_e532c7f1","updated":"2015-10-09 09:03:28.000000000","message":"Interesting, we got the same results (io\u003dnative always performed better) but we only have a limited set of storage backends (file based images and fibre channel devices), so I was not sure if this applies to all kinds of backends.\n\nAlso different sources (like the wiki link in the references below) state that io\u003dthreads performs better on file based images, but that might be an outdated statement.\n\nSo in general I like the idea of using io\u003dnative by default, it\u0027s simpler to implement but probably requires more consensus from the community.","commit_id":"997978d916dfea3320fd1a6398046d2db0c790c8"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"cf10dea782c4fbcce17ff42b67e3f8e3316d706a","unresolved":false,"context_lines":[{"line_number":32,"context_line":"is set correctly for the underlying image/block device type."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Right now nova sticks with the default setting, using userspace threads"},{"line_number":35,"context_line":"for asynchronous IO."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a2fa921_c37afc87","line":35,"in_reply_to":"7a2fa921_e532c7f1","updated":"2015-10-09 08:03:11.000000000","message":"Yes it seems difficult to have exhaustive benchmarks and let Nova to choice best configuration. But I do not think we should just change this setting and default it to aio\u003dnative. This option should be configurable.\n\nI had talk with an operator who is running Ceph with erasure and using aio\u003dnative provides some errors [1]. Option rdb_cache should be deactivated when aio\u003dnative.\n\nSo even if for this example we can move forward I think we cannot be sure all backends will work without any tunes.\n\n[1] http://tracker.ceph.com/issues/12012","commit_id":"997978d916dfea3320fd1a6398046d2db0c790c8"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"0c20e63476809a34a0ad7fe91e5526cf5a3a9de5","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Right now nova sticks with the default setting, using userspace threads"},{"line_number":35,"context_line":"for asynchronous IO."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"----------"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a29b11f_924ee66d","line":36,"updated":"2015-10-20 15:50:38.000000000","message":"So speaking with KVM maintainers today I learnt one further piece of info that complicates life.  aio\u003dnative is a *bad* idea if the storage is not fully pre-allocated.  ie, using aio\u003dnative with qcow2 files which grow-on-demand is not a good idea. The same could be true if using  sparse LVM storage\n\nAlso, aio\u003dnative/threads has *no* effect if using the in-QEMU RBD driver. It is only relevant if using the in-kernel RBD driver.","commit_id":"997978d916dfea3320fd1a6398046d2db0c790c8"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"f02a54ea3718e766595455a81c7ac36a877a2d42","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Right now nova sticks with the default setting, using userspace threads"},{"line_number":35,"context_line":"for asynchronous IO."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"----------"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa80f949_bbe1db00","line":36,"in_reply_to":"3a29b11f_924ee66d","updated":"2015-11-03 11:05:49.000000000","message":"So aio\u003dnative should not become default which means we should continue with this spec?\nWould have to add more input regarding the handling of (sparse) images, thought.\n\n@Daniel: Do you have a linkable resource regarding the native/sparse image topic? That would be very interesting...","commit_id":"997978d916dfea3320fd1a6398046d2db0c790c8"},{"author":{"_account_id":14594,"name":"Alexander Schmidt","email":"alexs@linux.vnet.ibm.com","username":"alexs"},"change_message_id":"41feeedac496b127490cfb9431ff333543a30189","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Right now nova sticks with the default setting, using userspace threads"},{"line_number":35,"context_line":"for asynchronous IO."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"----------"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa80f949_2394d535","line":36,"in_reply_to":"fa80f949_6c0c1743","updated":"2015-11-03 15:18:22.000000000","message":"Thanks for your comments! I included them in the spec to add more details on when native AIO mode should be used.","commit_id":"997978d916dfea3320fd1a6398046d2db0c790c8"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"b4c28187a2fef4066f6c3a9ad848ac8cbf0fb4f0","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Right now nova sticks with the default setting, using userspace threads"},{"line_number":35,"context_line":"for asynchronous IO."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"----------"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa80f949_6c0c1743","line":36,"in_reply_to":"fa80f949_bbe1db00","updated":"2015-11-03 12:40:38.000000000","message":"Yeah, looks like openstack should make a informed decision itself. Currently it looks like we\u0027ll want to do;\n\n - For network based disks -\u003e do nothing (the aio setting has no effect unless using host block layer)\n - If preallocate_images\u003d\u003dTrue -\u003e use aio\u003dnative\n   else -\u003e use aio\u003dthreads\n\nI\u0027m afraid I don\u0027t have a pointer to the native/sparse topic, since it was just an IRC discussion I had","commit_id":"997978d916dfea3320fd1a6398046d2db0c790c8"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"d6a32aebf5addd1becf2f503efb9f23e8b0af6a3","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Storage devices that are presented to instances can be backed by a variety"},{"line_number":23,"context_line":"of different storage backends. The sorage device can be an image residing"},{"line_number":24,"context_line":"in the file system of the hypervisor, it can be a block device which"},{"line_number":25,"context_line":"is passed to the guest or it can be provided via a network. Images can have"},{"line_number":26,"context_line":"different formats (raw, qcow2 etc.) and block devices can be backed by"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa80f949_3c004c34","line":23,"updated":"2015-11-04 14:25:12.000000000","message":"s/sorage/storage/","commit_id":"d6d092e1c5ae453ff84d5da959d07110eea99a02"},{"author":{"_account_id":14594,"name":"Alexander Schmidt","email":"alexs@linux.vnet.ibm.com","username":"alexs"},"change_message_id":"973e63cfac81cbfc453da10c8262a32bf399bed6","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Storage devices that are presented to instances can be backed by a variety"},{"line_number":23,"context_line":"of different storage backends. The sorage device can be an image residing"},{"line_number":24,"context_line":"in the file system of the hypervisor, it can be a block device which"},{"line_number":25,"context_line":"is passed to the guest or it can be provided via a network. Images can have"},{"line_number":26,"context_line":"different formats (raw, qcow2 etc.) and block devices can be backed by"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa80f949_7fb74df5","line":23,"in_reply_to":"fa80f949_3c004c34","updated":"2015-11-06 11:04:48.000000000","message":"Done","commit_id":"d6d092e1c5ae453ff84d5da959d07110eea99a02"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"d6a32aebf5addd1becf2f503efb9f23e8b0af6a3","unresolved":false,"context_lines":[{"line_number":78,"context_line":"----------------------------------"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* Raw images and pre-allocated images in qcow2 format"},{"line_number":81,"context_line":"* Cinder volumes that are located on iSCSI, NFS or FC devices."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"TODO: gather more performance data to add more details about when to use"},{"line_number":84,"context_line":"thread versus native AIO mode."}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa80f949_974d9174","line":81,"updated":"2015-11-04 14:25:12.000000000","message":"I\u0027d add \u0027... and others\u0027 as there are more backends that benefit from AIO native.","commit_id":"d6d092e1c5ae453ff84d5da959d07110eea99a02"},{"author":{"_account_id":14594,"name":"Alexander Schmidt","email":"alexs@linux.vnet.ibm.com","username":"alexs"},"change_message_id":"973e63cfac81cbfc453da10c8262a32bf399bed6","unresolved":false,"context_lines":[{"line_number":78,"context_line":"----------------------------------"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* Raw images and pre-allocated images in qcow2 format"},{"line_number":81,"context_line":"* Cinder volumes that are located on iSCSI, NFS or FC devices."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"TODO: gather more performance data to add more details about when to use"},{"line_number":84,"context_line":"thread versus native AIO mode."}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa80f949_dfc67967","line":81,"in_reply_to":"fa80f949_974d9174","updated":"2015-11-06 11:04:48.000000000","message":"Okay I added \u0027 and others\u0027 for now. Do you already have specific backends on your mind? If so, I\u0027d like to add them explicitly.","commit_id":"d6d092e1c5ae453ff84d5da959d07110eea99a02"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"a870303f7297cc2db29f670baa19912970ef711c","unresolved":false,"context_lines":[{"line_number":78,"context_line":"----------------------------------"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* Raw images and pre-allocated images in qcow2 format"},{"line_number":81,"context_line":"* Cinder volumes that are located on iSCSI, NFS or FC devices."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"TODO: gather more performance data to add more details about when to use"},{"line_number":84,"context_line":"thread versus native AIO mode."}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa80f949_6df9e0c6","line":81,"in_reply_to":"fa80f949_dfc67967","updated":"2015-11-06 13:06:49.000000000","message":"Sure, Quobyte profits from native aio.","commit_id":"d6d092e1c5ae453ff84d5da959d07110eea99a02"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"b84b5011deddc70a453f0f7b2baae23d1716173e","unresolved":false,"context_lines":[{"line_number":51,"context_line":"Proposed change"},{"line_number":52,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The goal is to enhance the nova libvirt driver to let it choose the disk"},{"line_number":55,"context_line":"IO mode based on the knowledge it already has about the device in use."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"For cinder volumes, different LibvirtVolumeDriver implementations exist"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa80f949_1cc08429","line":54,"updated":"2015-11-06 14:39:39.000000000","message":"It can be interesting to have an option like:\n\n  hw_aio_mode \u003d yes|no|auto\n\nI do not believe it will be easy to defined specific rule which work in all cases for each kind of devices.","commit_id":"2cfbe8507e1f760a9fda813cb7a3bb3d9949b1f6"},{"author":{"_account_id":14594,"name":"Alexander Schmidt","email":"alexs@linux.vnet.ibm.com","username":"alexs"},"change_message_id":"849a8688671bd26b1977fbc79e57afdf07ec8d79","unresolved":false,"context_lines":[{"line_number":51,"context_line":"Proposed change"},{"line_number":52,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The goal is to enhance the nova libvirt driver to let it choose the disk"},{"line_number":55,"context_line":"IO mode based on the knowledge it already has about the device in use."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"For cinder volumes, different LibvirtVolumeDriver implementations exist"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba8a016a_023aec36","line":54,"in_reply_to":"ba8a016a_dc728aad","updated":"2015-11-16 14:30:05.000000000","message":"Yes I\u0027d like to put together a specific list of backends.\n\nI currently have \"and others\" in the list because I assume there are more backends that would profit but I do not know which specific ones these are. I\u0027ll replace this with \"if you know of other backends that would benefit, please leave a comment\".\n\nI\u0027ll also add quobyte to the list as Silvan said it would benefit from native AIO mode.","commit_id":"2cfbe8507e1f760a9fda813cb7a3bb3d9949b1f6"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"ef3cf09d01d8936844e906e54dee26e560144c6b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"Proposed change"},{"line_number":52,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The goal is to enhance the nova libvirt driver to let it choose the disk"},{"line_number":55,"context_line":"IO mode based on the knowledge it already has about the device in use."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"For cinder volumes, different LibvirtVolumeDriver implementations exist"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba8a016a_dc728aad","line":54,"in_reply_to":"da85f559_0d848008","updated":"2015-11-16 14:03:52.000000000","message":"Ok so your spec if defined for a specific list of cases line 77, right ? Sorry I did not understand that in a first attempt.\n\nI still have a concern, what is \"and others\" ?","commit_id":"2cfbe8507e1f760a9fda813cb7a3bb3d9949b1f6"},{"author":{"_account_id":14594,"name":"Alexander Schmidt","email":"alexs@linux.vnet.ibm.com","username":"alexs"},"change_message_id":"fc8fdf9b996f05d9fb261756750d38843693eaca","unresolved":false,"context_lines":[{"line_number":51,"context_line":"Proposed change"},{"line_number":52,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The goal is to enhance the nova libvirt driver to let it choose the disk"},{"line_number":55,"context_line":"IO mode based on the knowledge it already has about the device in use."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"For cinder volumes, different LibvirtVolumeDriver implementations exist"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da85f559_0d848008","line":54,"in_reply_to":"fa80f949_1cc08429","updated":"2015-11-12 14:22:48.000000000","message":"Hi Sahid,\n\ndo you have an example for a backend where for one workload it makes sense to use AIO mode threads and for a different workload it makes sense to use native AIO? So far all comments I received indicate that there is no such case, so I did not see a reason to make this configurable.\n\nYou wrote \"specific rule which work in all cases for each kind of devices\", this is not what I suggest. I suggest to use the ideal AIO mode per storage backend, e.g. \"always use native AIO mode for preallocated qcow2 images and FC backed devices\", and \"always use threaded AIO mode for sparse LVM volumes\".","commit_id":"2cfbe8507e1f760a9fda813cb7a3bb3d9949b1f6"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"b84b5011deddc70a453f0f7b2baae23d1716173e","unresolved":false,"context_lines":[{"line_number":81,"context_line":"* Cinder volumes that are located on iSCSI, NFS or FC devices."},{"line_number":82,"context_line":"* and others"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"TODO: gather more performance data to add more details about when to use"},{"line_number":85,"context_line":"thread versus native AIO mode."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa80f949_1c5e4412","line":84,"updated":"2015-11-06 14:39:39.000000000","message":"For sure it will be nice, but I guess it\u0027s not something mandatory to have this kind of information in that spec.","commit_id":"2cfbe8507e1f760a9fda813cb7a3bb3d9949b1f6"},{"author":{"_account_id":14594,"name":"Alexander Schmidt","email":"alexs@linux.vnet.ibm.com","username":"alexs"},"change_message_id":"fc8fdf9b996f05d9fb261756750d38843693eaca","unresolved":false,"context_lines":[{"line_number":81,"context_line":"* Cinder volumes that are located on iSCSI, NFS or FC devices."},{"line_number":82,"context_line":"* and others"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"TODO: gather more performance data to add more details about when to use"},{"line_number":85,"context_line":"thread versus native AIO mode."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"da85f559_4dbcc8ba","line":84,"in_reply_to":"fa80f949_1c5e4412","updated":"2015-11-12 14:22:48.000000000","message":"Yeah I agree, I\u0027ll remove the comment for the next version.","commit_id":"2cfbe8507e1f760a9fda813cb7a3bb3d9949b1f6"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"33668f3d27e6f8346bf4f89080945deefda3964c","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Performance Impact"},{"line_number":129,"context_line":"------------------"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"The performance of nova services should not be affected by this change."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Other deployer impact"},{"line_number":134,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa80f949_0d2e14a5","line":131,"updated":"2015-11-06 13:19:37.000000000","message":"Shouldn\u0027t this be something like:\n\u0027Improved performance for aio\u003dnative optimized backends. No adverse effect on other components.\u0027\n\nNot sure if that means the argument is done twice but it is the whole point of this spec, after all.\n\nJust a thought.","commit_id":"2cfbe8507e1f760a9fda813cb7a3bb3d9949b1f6"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"f6f6fb3f312e465880831fc4319097f7ab8adc8c","unresolved":false,"context_lines":[{"line_number":81,"context_line":"* Cinder volumes that are located on iSCSI, NFS or FC devices."},{"line_number":82,"context_line":"* Quobyte (reported by Silvan Kaiser)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"If you know of other backends that would see a benefit from using native"},{"line_number":85,"context_line":"AIO mode, please leave a comment."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_6f7374b2","line":84,"updated":"2015-11-17 09:13:21.000000000","message":"You should to remove this line, it\u0027s not something we want in spec. Or you can explain that The implementation will make easy to enable that feature on new devices we discover a benefit from using native AIO mode.","commit_id":"8cdf4287792dbef766553b3f26e6c5abfddaa1fe"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"b1bc0c3b90c6b7e7831858791c8c6aa14c1d2359","unresolved":false,"context_lines":[{"line_number":81,"context_line":"* Cinder volumes that are located on iSCSI, NFS or FC devices."},{"line_number":82,"context_line":"* Quobyte (reported by Silvan Kaiser)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"If you know of other backends that would see a benefit from using native"},{"line_number":85,"context_line":"AIO mode, please leave a comment."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_af171ca2","line":84,"in_reply_to":"ba8a016a_6f7374b2","updated":"2015-11-17 09:26:45.000000000","message":"Removing this seems right to me, too.\nMaybe post a request for this on the mailing list to find more cases?","commit_id":"8cdf4287792dbef766553b3f26e6c5abfddaa1fe"},{"author":{"_account_id":14594,"name":"Alexander Schmidt","email":"alexs@linux.vnet.ibm.com","username":"alexs"},"change_message_id":"a74cf5aba6407fcd91849db4940e5bfdc5ab42ea","unresolved":false,"context_lines":[{"line_number":81,"context_line":"* Cinder volumes that are located on iSCSI, NFS or FC devices."},{"line_number":82,"context_line":"* Quobyte (reported by Silvan Kaiser)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"If you know of other backends that would see a benefit from using native"},{"line_number":85,"context_line":"AIO mode, please leave a comment."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_af4f1c91","line":84,"in_reply_to":"ba8a016a_af171ca2","updated":"2015-11-17 09:32:20.000000000","message":"Ok I\u0027ll remove this line and ask for comments on the mailing list, thank you both for your suggestions!","commit_id":"8cdf4287792dbef766553b3f26e6c5abfddaa1fe"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"6ddceb5db1684f7f0f01cba8b20c7790b1884012","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Restrictions on when to use native AIO mode"},{"line_number":66,"context_line":"-------------------------------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* native AIO mode is a bad idea if the storage is not fully pre-allocated,"},{"line_number":69,"context_line":"  e.g. for qcow2 images that grow on demand or sparse LVM storage (source:"},{"line_number":70,"context_line":"  danpb / KVM maintainers)"},{"line_number":71,"context_line":"* AIO mode has no effect if using the in-qemu network clients (any disks"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_3195da3f","line":68,"updated":"2015-12-01 09:45:43.000000000","message":"FYI: I dug a bit into this. Only issue with sparse images i could find relates to a RHEL6 Warning where differing block sizes in virtual and physical disk could go bad with aio\u003dnative and ext4 from 2012 (https://access.redhat.com/articles/41313). I think i read on another redhat page this also relates to xfs.\n\nI contacted the libvirt IRC channel who could remember such an issue but that related to qemu. I haven\u0027t spoken to qemu so far but could not find any general warning about this.\n\nAll in all i\u0027m not too sure how critical this sparse vs. prealloc issues.\n\nIf somebody has more details on this i\u0027m happy to hear about it. :)","commit_id":"a396913f7a8c3187a1f0515838683cf883c666e9"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"2d1a0ee09b92580b9157403766914d79bb8fa196","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Restrictions on when to use native AIO mode"},{"line_number":66,"context_line":"-------------------------------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* native AIO mode is a bad idea if the storage is not fully pre-allocated,"},{"line_number":69,"context_line":"  e.g. for qcow2 images that grow on demand or sparse LVM storage (source:"},{"line_number":70,"context_line":"  danpb / KVM maintainers)"},{"line_number":71,"context_line":"* AIO mode has no effect if using the in-qemu network clients (any disks"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a740942_a31f685a","line":68,"in_reply_to":"7a740942_28ad9788","updated":"2015-12-03 16:24:25.000000000","message":"This isn\u0027t really the right place to suggest new ways of doing I/O in QEMU, as people listening here aren\u0027t the QEMU block layer maintainers. If you think there\u0027s ways to do better then place take it to the qemu IRC channel or qemu-devel mailing list.","commit_id":"a396913f7a8c3187a1f0515838683cf883c666e9"},{"author":{"_account_id":16516,"name":"pradeep kumar surisetty","email":"psuriset@redhat.com","username":"psuriset"},"change_message_id":"c4d0dcf056631542f3d6f4db78362a372a65b2f6","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Restrictions on when to use native AIO mode"},{"line_number":66,"context_line":"-------------------------------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* native AIO mode is a bad idea if the storage is not fully pre-allocated,"},{"line_number":69,"context_line":"  e.g. for qcow2 images that grow on demand or sparse LVM storage (source:"},{"line_number":70,"context_line":"  danpb / KVM maintainers)"},{"line_number":71,"context_line":"* AIO mode has no effect if using the in-qemu network clients (any disks"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_3031410c","line":68,"in_reply_to":"9a8ffd7b_0ddd0d14","updated":"2015-12-01 14:50:10.000000000","message":"My results includes  disk (ssd, hdd),  file system: EXT4, XFS, NFS, and lvm.  Virtual disk image format: raw and QCOW2.  virtual disk image allocation: sparse and preallocated (with multiple preallocation methods)\n\nEspecially with multi vm: aio\u003dnative is performing better or equal to threads for preallocated virtual disks.  For example some of the results are:   \n\ndisk: ssd: lvm- virtual disk: raw -preallocated: yes \n\nhttp://psuriset.github.io/pbench-graphs/multi_vm_lvm_ssd_native_vs_threads_raw_sync_iodepth_1_jobs_32.html\n\ndisk: ssd-fs: ext4- virtual disk: raw -preallocated: yes\n\nhttp://psuriset.github.io/pbench-graphs/multi_vm_ext4_ssd_native_vs_threads_raw_sync_iodepth_1_jobs_32.html\n\ndisk: ssd-fs: xfs- virtual disk: raw -preallocated: yes\n\nhttp://psuriset.github.io/pbench-graphs/multi_vm_xfs_ssd_native_vs_threads_raw_sync_iodepth_1_jobs_32.html\n\n\nI will be updating all my experiments in blog post. \n\n\nOverall, my recommendation would be: \n\nAs IO performance is significantly improved with aio \u003dnative,  IO\u003dnative is recommended choice though there are few challenges especially with single VM  in some of the combinations and continue to investigate to improve further.    With aio\u003dnative can block the VM if the file is not fully allocated and not recommended not to use aio\u003dnative on sparse files!","commit_id":"a396913f7a8c3187a1f0515838683cf883c666e9"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"00f122ea1e6a25c7ba1a86832543aed78f0c8741","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Restrictions on when to use native AIO mode"},{"line_number":66,"context_line":"-------------------------------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* native AIO mode is a bad idea if the storage is not fully pre-allocated,"},{"line_number":69,"context_line":"  e.g. for qcow2 images that grow on demand or sparse LVM storage (source:"},{"line_number":70,"context_line":"  danpb / KVM maintainers)"},{"line_number":71,"context_line":"* AIO mode has no effect if using the in-qemu network clients (any disks"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_9d844b5e","line":68,"in_reply_to":"9a8ffd7b_21d3ccd6","updated":"2015-12-03 09:57:03.000000000","message":"We had a discussion about that on the #qemu irc channel, i copied that section into http://paste.openstack.org/show/480498/ .\nSummary was: With prealloc aio\u003dnative is fine \u0026 fast. With sparse files serious lag may happen.","commit_id":"a396913f7a8c3187a1f0515838683cf883c666e9"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"8e8e029e378d904c583bdab69009bfe0a9ea5405","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Restrictions on when to use native AIO mode"},{"line_number":66,"context_line":"-------------------------------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* native AIO mode is a bad idea if the storage is not fully pre-allocated,"},{"line_number":69,"context_line":"  e.g. for qcow2 images that grow on demand or sparse LVM storage (source:"},{"line_number":70,"context_line":"  danpb / KVM maintainers)"},{"line_number":71,"context_line":"* AIO mode has no effect if using the in-qemu network clients (any disks"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_21d3ccd6","line":68,"in_reply_to":"9a8ffd7b_3031410c","updated":"2015-12-03 03:49:40.000000000","message":"Pradeep, you wrote \" With aio\u003dnative can block the VM if the file is not fully allocated...\".  Could you elaborate?  Why does aio\u003dnative give worse behaviour than other options when the file is allocated on demand?","commit_id":"a396913f7a8c3187a1f0515838683cf883c666e9"},{"author":{"_account_id":14594,"name":"Alexander Schmidt","email":"alexs@linux.vnet.ibm.com","username":"alexs"},"change_message_id":"faa3188de5c563d76dacf758fc33653895960eb0","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Restrictions on when to use native AIO mode"},{"line_number":66,"context_line":"-------------------------------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* native AIO mode is a bad idea if the storage is not fully pre-allocated,"},{"line_number":69,"context_line":"  e.g. for qcow2 images that grow on demand or sparse LVM storage (source:"},{"line_number":70,"context_line":"  danpb / KVM maintainers)"},{"line_number":71,"context_line":"* AIO mode has no effect if using the in-qemu network clients (any disks"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_da801e8e","line":68,"in_reply_to":"9a8ffd7b_3102ba3f","updated":"2015-12-01 12:00:32.000000000","message":"Hi Silvan,\n\nthank you very much for your research! I\u0027ll add this info if an update of the spec is required (or when I resubmit it for N, I assume it will not be approved for Mitaka).","commit_id":"a396913f7a8c3187a1f0515838683cf883c666e9"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"8ba2dea44b30c22b414048ac3fddfe96f0e09c79","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Restrictions on when to use native AIO mode"},{"line_number":66,"context_line":"-------------------------------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* native AIO mode is a bad idea if the storage is not fully pre-allocated,"},{"line_number":69,"context_line":"  e.g. for qcow2 images that grow on demand or sparse LVM storage (source:"},{"line_number":70,"context_line":"  danpb / KVM maintainers)"},{"line_number":71,"context_line":"* AIO mode has no effect if using the in-qemu network clients (any disks"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_3102ba3f","line":68,"in_reply_to":"9a8ffd7b_3195da3f","updated":"2015-12-01 09:50:51.000000000","message":"Oops, the next to last sentence should end with:\n\u0027... and prealloc issues are.\u0027","commit_id":"a396913f7a8c3187a1f0515838683cf883c666e9"},{"author":{"_account_id":16516,"name":"pradeep kumar surisetty","email":"psuriset@redhat.com","username":"psuriset"},"change_message_id":"c4d0dcf056631542f3d6f4db78362a372a65b2f6","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Restrictions on when to use native AIO mode"},{"line_number":66,"context_line":"-------------------------------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* native AIO mode is a bad idea if the storage is not fully pre-allocated,"},{"line_number":69,"context_line":"  e.g. for qcow2 images that grow on demand or sparse LVM storage (source:"},{"line_number":70,"context_line":"  danpb / KVM maintainers)"},{"line_number":71,"context_line":"* AIO mode has no effect if using the in-qemu network clients (any disks"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_d06315dc","line":68,"in_reply_to":"9a8ffd7b_3195da3f","updated":"2015-12-01 14:50:10.000000000","message":"We have covered performance analysis of native vs threads on different combinations.     While analyzing initial test results using the \"io\u003dnative\" option, we observed that qemu would submit only 1 I/O request at a time, even if there were multiple requests to process.  This batching method was implemented for both virtio-scsi and  virtio-blk-data-plane disk types, but was missing for virtio-blk.  A fix for this improved throughput up to 30%.\nhttp://git.qemu.org/?p\u003dqemu.git;a\u003dcommit;h\u003dfc73548e444ae3239f6cef44a5200b5d2c3e85d1","commit_id":"a396913f7a8c3187a1f0515838683cf883c666e9"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"e398c8775b97f371c42514d79ee7ed1b7a7d68cc","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Restrictions on when to use native AIO mode"},{"line_number":66,"context_line":"-------------------------------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* native AIO mode is a bad idea if the storage is not fully pre-allocated,"},{"line_number":69,"context_line":"  e.g. for qcow2 images that grow on demand or sparse LVM storage (source:"},{"line_number":70,"context_line":"  danpb / KVM maintainers)"},{"line_number":71,"context_line":"* AIO mode has no effect if using the in-qemu network clients (any disks"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a740942_28ad9788","line":68,"in_reply_to":"9a8ffd7b_86587c32","updated":"2015-12-03 16:19:41.000000000","message":"\"Regarding sparse files and aio\u003dnative, they don\u0027t work well together because Linux file systems are written in a synchronous fashion. So the \"AIO\" io_submit(2) system call blocks a QEMU thread.\"\n\nThe above is somewhat ambiguous, and makes it sound like Linux is doing something bad.  Technically it\u0027s qemu that is intentionally blocking by calling io_submit().  If we want non-blocking behaviour then shouldn\u0027t qemu be using io_getevents()?","commit_id":"a396913f7a8c3187a1f0515838683cf883c666e9"},{"author":{"_account_id":16516,"name":"pradeep kumar surisetty","email":"psuriset@redhat.com","username":"psuriset"},"change_message_id":"4b50d11e798bcaf342374b34d8697662bf6d5055","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Restrictions on when to use native AIO mode"},{"line_number":66,"context_line":"-------------------------------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* native AIO mode is a bad idea if the storage is not fully pre-allocated,"},{"line_number":69,"context_line":"  e.g. for qcow2 images that grow on demand or sparse LVM storage (source:"},{"line_number":70,"context_line":"  danpb / KVM maintainers)"},{"line_number":71,"context_line":"* AIO mode has no effect if using the in-qemu network clients (any disks"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_b18a9819","line":68,"in_reply_to":"9a8ffd7b_86587c32","updated":"2015-12-03 11:06:05.000000000","message":"Few more results with hdd and multi VM: \n\nhdd/lvm/16vm/raw/preallocated\n\nhttp://psuriset.github.io/pbench-graphs/multi_vm_lvm_hdd_native_vs_threads_raw_sync.html\n\nhdd/ext4/16vm/raw/preallocated\n\nhttp://psuriset.github.io/pbench-graphs/multi_vm_ext4_hdd_native_vs_threads_raw_sync.html\n\nhdd/xfs/16vm/raw/preallocated\n\nhttp://psuriset.github.io/pbench-graphs/multi_vm_xfs_hdd_native_vs_threads_raw_sync.html\n\nhave other combinations results too. will share in blog post in couple of days.","commit_id":"a396913f7a8c3187a1f0515838683cf883c666e9"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"f0ad7a794f2fc6becd8baec0b46ab14b39bc7947","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Restrictions on when to use native AIO mode"},{"line_number":66,"context_line":"-------------------------------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* native AIO mode is a bad idea if the storage is not fully pre-allocated,"},{"line_number":69,"context_line":"  e.g. for qcow2 images that grow on demand or sparse LVM storage (source:"},{"line_number":70,"context_line":"  danpb / KVM maintainers)"},{"line_number":71,"context_line":"* AIO mode has no effect if using the in-qemu network clients (any disks"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_0ddd0d14","line":68,"in_reply_to":"9a8ffd7b_87ca3e4e","updated":"2015-12-01 13:11:13.000000000","message":"Hmm, according to https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/6.1_Technical_Notes/kernel.html (look for BZ#615309) this issues seems to have been fixed, btw.","commit_id":"a396913f7a8c3187a1f0515838683cf883c666e9"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"cd1402d584d3b4bfb3ffb261714bff41bea2670c","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Restrictions on when to use native AIO mode"},{"line_number":66,"context_line":"-------------------------------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* native AIO mode is a bad idea if the storage is not fully pre-allocated,"},{"line_number":69,"context_line":"  e.g. for qcow2 images that grow on demand or sparse LVM storage (source:"},{"line_number":70,"context_line":"  danpb / KVM maintainers)"},{"line_number":71,"context_line":"* AIO mode has no effect if using the in-qemu network clients (any disks"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_86587c32","line":68,"in_reply_to":"9a8ffd7b_d06315dc","updated":"2015-12-03 10:46:37.000000000","message":"Just to point out the important bit from that long IRC long is from stefanha\n\n\"Regarding sparse files and aio\u003dnative, they don\u0027t work well together because Linux file systems are written in a synchronous fashion.  So the \"AIO\" io_submit(2) system call blocks a QEMU thread.\n...\njitter is quite nasty because it means vcpus can be blocked (unable to execute guest code) while waiting for the QEMU main loop to return from io_submit().\"","commit_id":"a396913f7a8c3187a1f0515838683cf883c666e9"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"10104390188fbfcb75483a3c5c16ce4e93c7b8eb","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Restrictions on when to use native AIO mode"},{"line_number":66,"context_line":"-------------------------------------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* native AIO mode is a bad idea if the storage is not fully pre-allocated,"},{"line_number":69,"context_line":"  e.g. for qcow2 images that grow on demand or sparse LVM storage (source:"},{"line_number":70,"context_line":"  danpb / KVM maintainers)"},{"line_number":71,"context_line":"* AIO mode has no effect if using the in-qemu network clients (any disks"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_87ca3e4e","line":68,"in_reply_to":"9a8ffd7b_da801e8e","updated":"2015-12-01 12:44:27.000000000","message":"One further update:\nJust got into contact with qemu ppl. This warning is indeed related to the above mentioned issues with older kernels in RHEL5+6. Don\u0027t think it\u0027s exclusive to them, just seems to be the referenced distributions.\n\nI\u0027d really like to see this feature in Mitaka, pressing my thumbs to find some cores that take a look at this... :)","commit_id":"a396913f7a8c3187a1f0515838683cf883c666e9"}]}
