On Wed, Mar 24, 2010 at 03:05:02PM +0200, Avi Kivity wrote:
On 03/24/2010 02:50 PM, Joerg Roedel wrote:
Someone who uses libvirt and virt-manager by default is probably notI don't want the tool for myself only. A typical perf user expects thatA typical kvm user uses libvirt, so we can integrate it with that.
it works transparent.
interested in this feature at the same level a kvm developer is. And
developers tend not to use libvirt for low-level kvm development. A
number of developers have stated in this thread already that they would
appreciate a solution for guest enumeration that would not involve
libvirt.
Someone needs to know about the new guest to fetch its symbols. Or doThe samples will be tagged with the guest-name (and some additional
you want that part in the kernel too?
information perf needs). Perf userspace can access the symbols then
through /sys/kvm/guest0/fs/...
An approach like: "The files are owned and only readable by the sameDepends on how it is designed. A filesystem approach was alreadyWho would set the security context on those files?
mentioned. We could create /sys/kvm/ for example to expose information
about virtual machines to userspace. This would not require any new
security hooks.
user that started the vm." might be a good start. So a user can measure
its own guests and root can measure all of them.
Plus, we need cgroup support so you can't see one container's guestscgroup support is an issue but we can solve that too. Its in general
from an unrelated container.
still less complex than going through the whole libvirt-qemu-kvm stack.
Integration with qemu would allow perf to tell us that the guest isYeah that would be interesting information. But it is more related to
hitting the interrupt status register of a virtio-blk device in pci
slot 5 (the information is already available through the kvm_mmio
trace event, but only qemu can decode it).
tracing than to pmu measurements.
The information which you mentioned above are probably better
captured by an extension of trace-events to userspace.