On 05/12/2010 11:26 PM, Eric Blake wrote:
From: Matthias Dahl <mdvirt(a)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