On 03/21/2010 02:17 PM, Ingo Molnar wrote:
If you want to improve this, you need to do the following:
1) Add a userspace daemon that uses vmchannel that runs in the guest and can
fetch kallsyms and arbitrary modules. If that daemon lives in
tools/perf, that's fine.
Adding any new daemon to an existing guest is a deployment and usability
nightmare.
The basic rule of good instrumentation is to be transparent. The moment we
have to modify the user-space of a guest just to monitor it, the purpose of
transparent instrumentation is defeated.
That was one of the fundamental usability mistakes of Oprofile.
There is no 'perf' daemon - all the perf functionality is _built in_, and for
very good reasons. It is one of the main reasons for perf's success as well.
The solution should be a long lived piece of code that runs without
kernel privileges. How the code is delivered to the user is a separate
problem.
If you want to argue that the kernel should build an initramfs that
contains some things that always should be shipped with the kernel but
don't need to be within the kernel, I think that's something that's long
over due.
We could make it a kernel thread, but what's the point? It's much safer
for it to be a userspace thread and it doesn't need to interact with the
kernel in an intimate way.
Regards,
Anthony Liguori
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html