Re: [RFC] Unify KVM kernel-space and user-space code into a single project

Anthony Liguori
2010-03-21T23:35:24Z

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