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

From: Anthony Liguori
Date: Mon Mar 22 2010 - 14:30:44 EST


On 03/22/2010 12:11 PM, Ingo Molnar wrote:
* Anthony Liguori<anthony@xxxxxxxxxxxxx> wrote:

- Easy default reference to guest instances, and a way for tools to
reference them symbolically as well in the multi-guest case. Preferably
something trustable and kernel-provided - not some indirect information
like a PID file created by libvirt-manager or so.
A guest is not a KVM concept. [...]
Well, in a sense a guest is a KVM concept too: it's in essence represented via
the 'vcpu state attached to a struct mm' abstraction that is attached to the
/dev/kvm file descriptor attached to a Linux process.

Multiple vcpus can be started by the same process to represent SMP, but the
whole guest notion is present: a Linux MM that carries KVM state.

In that sense when we type 'perf kvm list' we'd like to get a list of all
currently present guests that the developer has permission to profile: i.e.
we'd like a list of all [debuggable] Linux tasks that have a KVM instance
attached to them.

A convenient way to do that would be to use the Qemu process's ->comm[] name,
and to have a KVM ioctl that gets us a list of all vcpus that the querying
task has ptrace permission to. [the standard permission check we do for
instrumentation]

No need for communication with Qemu for that - just an ioctl, and an
always-guaranteed result that works fine on a whole-system and on a per user
basis as well.

You need a way to interact with the guest which means you need some type of device. All of the interesting devices are implemented in qemu so you're going to have to interact with qemu if you want meaningful interaction with a guest.

Regards,

Anthony Liguori

Thanks,

Ingo

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