On Tue, Mar 23, 2010 at 06:39:58PM +0200, Avi Kivity wrote:
On 03/23/2010 04:06 PM, Joerg Roedel wrote:
This enumeration is a very small and non-intrusive feature. Making itAnd this system wide entity is the kvm module. It creates instances ofSo, two users can't have a guest named MyGuest each? What about
'struct kvm' and destroys them. I see no problem if we just attach a
name to every instance with a good default value like kvm0, kvm1 ... or
guest0, guest1 ... User-space can override the name if it wants. The kvm
module takes care about the names being unique.
namespace support? There's a lot of work in virtualizing all kernel
namespaces, you're adding to that.
aware of namespaces is easy too.
What about notifications when guests are added or removed?Who would be the consumer of such notifications? A 'perf kvm list' can
live without I guess. If we need them later we can still add them.
My statement was not limited to enumeration, I should have been moreThis is very much the same as network card numbering is implemented inIt's a setup cost only.
the kernel.
Forcing perf to talk to qemu or even libvirt produces to much overhead
imho. Instrumentation only produces useful results with low overhead.
clear about that. The guest filesystem access-channel is another
affected part. The 'perf kvm top' command will access the guest
filesystem regularly and going over qemu would be more overhead here.
Providing this in the KVM module directly also has the benefit that it
would work out-of-the-box with different userspaces too. Or do we want
to limit 'perf kvm' to the libvirt-qemu-kvm software stack?
Sidenote: I really think we should come to a conclusion about the
concept. KVM integration into perf is very useful feature to
analyze virtualization workloads.