Re: [PATCH V3] perf & kvm: Enhance perf to collect KVM guest os statistics from host side

Sheng Yang
2010-04-14T10:27:35Z

On Wednesday 14 April 2010 18:19:49 Avi Kivity wrote:
> On 04/14/2010 01:14 PM, Sheng Yang wrote:
> >> I wouldn't like to depend on model specific behaviour.
> >>
> >> One option is to read all the information synchronously and store it in
> >> a per-cpu area with atomic instructions, then queue the NMI. Another
> >> option is to have another callback which tells us that the NMI is done,
> >> and have a busy loop wait until the NMI is delivered.
> >
> > Callback seems too heavy, may affect the performance badly. Maybe a short
> > queue would help, though this one is more complex.
>
> The patch we're replying to adds callbacks (to read rip, etc.), so it's
> no big deal. For the queue solution, a queue of size one would probably
> be sufficient even if not guaranteed by the spec. I don't see how the
> cpu can do another guest entry without delivering the NMI.
>
> > But I am still curious if we extend the region, how much it would help.
> > Would get a result soon...
>
> Yes, interesting to see what the latency is. If it's reasonably short
> (and I expect it will be so), we can do the busy wait solution.
>
> If we have an NMI counter somewhere, we can simply wait until it changes.

Good idea. Of course we have one(at least on x86). There is
irq_stat.irq__nmi_count for per cpu. :)

--
regards
Yang, Sheng