Re: KVM PMU virtualization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2010-02-25 at 17:26 +0100, Ingo Molnar wrote:
> * Jan Kiszka <jan.kiszka@xxxxxxxxxxx> wrote:
> 
> > Jes Sorensen wrote:
> > > Hi,
> > > 
> > > It looks like several of us have been looking at how to use the PMU
> > > for virtualization. Rather than continuing to have discussions in
> > > smaller groups, I think it is a good idea we move it to the mailing
> > > lists to see what we can share and avoid duplicate efforts.
> > > 
> > > There are really two separate things to handle:
> > > 
> > > 1) Add support to perf to allow it to monitor a KVM guest from the
> > >    host.
> > > 
> > > 2) Allow guests access to the PMU (or an emulated PMU), making it
> > >    possible to run perf on applications running within the guest.
> > > 
> > > I know some of you have been looking at 1) and I am currently working
> > > on 2). I have been looking at various approaches, including whether it
> > > is feasible to share the PMU between the host and multiple guests. For
> > > now I am going to focus on allowing one guest to take control of the
> > > PMU, then later hopefully adding support for multiplexing it between
> > > multiple guests.
> > 
> > Given that perf can apply the PMU to individual host tasks, I don't see 
> > fundamental problems multiplexing it between individual guests (which can 
> > then internally multiplex it again).
> 
> In terms of how to expose it to guests, a 'soft PMU' might be a usable 
> approach. Although to Linux guests you could expose much more functionality 
> and an non-PMU-limited number of instrumentation events, via a more 
> intelligent interface.
> 
> But note that in terms of handling it on the host side the PMU approach is not 
> acceptable: instead it should map to proper perf_events, not try to muck with 
> the PMU itself.
> 


> That, besides integrating properly with perf usage on the host, will also 
> allow interesting 'PMU' features on guests: you could set up the host side to 
> trace block IO requests (or VM exits) for example, and expose that as 'PMC
> #0' on the guest side.
So virtualization becomes non-transparent to guest os? I know virtio is an
optimization on guest side.



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

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux