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

From: Antoine Martin
Date: Sun Mar 21 2010 - 15:44:23 EST


On 03/22/2010 02:17 AM, Ingo Molnar wrote:
* Anthony Liguori<anthony@xxxxxxxxxxxxx> wrote:
On 03/19/2010 03:53 AM, Ingo Molnar wrote:
* Avi Kivity<avi@xxxxxxxxxx> wrote:
There were two negative reactions immediately, both showed a fundamental
server versus desktop bias:

- you did not accept that the most important usecase is when there is a
single guest running.
Well, it isn't.
Erm, my usability points are _doubly_ true when there are multiple guests ...

The inconvenience of having to type:

perf kvm --host --guest --guestkallsyms=/home/ymzhang/guest/kallsyms \
--guestmodules=/home/ymzhang/guest/modules top

is very obvious even with a single guest. Now multiply that by more guests ...
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.
Absolutely. In most cases it is not desirable, and you'll find that in a lot of cases it is not even possible - for non-technical reasons.
One of the main benefits of virtualization is the ability to manage and see things from the outside.
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.
Not to mention Heisenbugs and interference.

Cheers
Antoine

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.

Now Qemu is trying to repeat that stupid mistake ...

So please either suggest a different transparent solution that is technically
better than the one i suggested, or you should concede the point really.

Please try think with the heads of our users and developers and dont suggest
some weird ivory-tower design that is totally impractical ...

And no, you have to code none of this, we'll do all the coding. The only thing
we are asking is for you to not stand in the way of good usability ...

Thanks,

Ingo
--
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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/