
On 05/12/2010 11:26 PM, Eric Blake wrote:
From: Matthias Dahl <mdvirt@designassembly.de>
qemu allows the user to choose what io storage api should be used, either the default (threads) or native (linux aio) which in the latter case can result in better performance.
Thanks a lot to Eric Blake and Matthias Bolte for their comments.
(sorry, I reviewed the one big patch instead of the split up patches. It seems to be the same except for the addition of the symbols to libvirt_private.syms) The implementation looks perfectly reasonable. I'm just concerned that the concept of what we are doing is too qemu specific, though. Basically, I think what we are trying to model here is the concept of an I/O backend implementation, correct? Should we maybe change this to be "<iobackend type='%s'/>", and then have available enums like: aiothreads aionative ... That way, for other hypervisors that do something different (like VirtualBox, which just has AIO on/off), we can have additional enums to describe their behavior. Even further, if a given hypervisor wanted to do something like "Direct I/O" for the I/O backend (as an example), we could also use this element to specify that. What do you think? -- Chris Lalancette