Re: [PATCH] Enhance perf to collect KVM guest os statistics fromhost side

From: Ingo Molnar
Date: Tue Mar 16 2010 - 05:48:27 EST



* Zhang, Yanmin <yanmin_zhang@xxxxxxxxxxxxxxx> wrote:

> On Tue, 2010-03-16 at 15:48 +0800, Zhang, Yanmin wrote:
> > On Tue, 2010-03-16 at 07:41 +0200, Avi Kivity wrote:
> > > On 03/16/2010 07:27 AM, Zhang, Yanmin wrote:
> > > > From: Zhang, Yanmin<yanmin_zhang@xxxxxxxxxxxxxxx>
> > > >
> > > > Based on the discussion in KVM community, I worked out the patch to support
> > > > perf to collect guest os statistics from host side. This patch is implemented
> > > > with Ingo, Peter and some other guys' kind help. Yang Sheng pointed out a
> > > > critical bug and provided good suggestions with other guys. I really appreciate
> > > > their kind help.
> > > >
> > > > The patch adds new subcommand kvm to perf.
> > > >
> > > > perf kvm top
> > > > perf kvm record
> > > > perf kvm report
> > > > perf kvm diff
> > > >
> > > > The new perf could profile guest os kernel except guest os user space, but it
> > > > could summarize guest os user space utilization per guest os.
> > > >
> > > > Below are some examples.
> > > > 1) perf kvm top
> > > > [root@lkp-ne01 norm]# perf kvm --host --guest --guestkallsyms=/home/ymzhang/guest/kallsyms
> > > > --guestmodules=/home/ymzhang/guest/modules top
> > > >
> > > >
> > >
> > Thanks for your kind comments.
> >
> > > Excellent, support for guest kernel != host kernel is critical (I can't
> > > remember the last time I ran same kernels).
> > >
> > > How would we support multiple guests with different kernels?
> > With the patch, 'perf kvm report --sort pid" could show
> > summary statistics for all guest os instances. Then, use
> > parameter --pid of 'perf kvm record' to collect single problematic instance data.
> Sorry. I found currently --pid isn't process but a thread (main thread).
>
> Ingo,
>
> Is it possible to support a new parameter or extend --inherit, so 'perf
> record' and 'perf top' could collect data on all threads of a process when
> the process is running?
>
> If not, I need add a new ugly parameter which is similar to --pid to filter
> out process data in userspace.

Yeah. For maximum utility i'd suggest to extend --pid to include this, and
introduce --tid for the previous, limited-to-a-single-task functionality.

Most users would expect --pid to work like a 'late attach' - i.e. to work like
strace -f or like a gdb attach.

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/