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

Ingo Molnar
2010-03-21T19:59:03Z

* Antoine Martin <antoine@nagafix.co.uk> wrote:

> On 03/22/2010 02:17 AM, Ingo Molnar wrote:
> >* Anthony Liguori<anthony@codemonkey.ws> wrote:
> >>On 03/19/2010 03:53 AM, Ingo Molnar wrote:
> >>>* Avi Kivity<avi@redhat.com> 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.

Correct.

Frankly, i was surprised (and taken slightly off base) by both Avi and Anthony
suggesting such a clearly inferior "add a demon to the guest space" solution.
It's a usability and deployment non-starter.

Furthermore, allowing a guest to integrate/mount its files into the host VFS
space (which was my suggestion) has many other uses and advantages as well,
beyond the instrumentation/symbol-lookup purpose.

So can we please have some resolution here and move on: the KVM maintainers
should either suggest a different transparent approach, or should retract the
NAK for the solution we suggested.

We very much want to make progress and want to write code, but obviously we
cannot code against a maintainer NAK, nor can we code up an inferior solution
either.

Thanks,

Ingo