Re: [PATCH V2 4/5] ara virt interface of perf to support kvm guestos statistics collection in guest os

From: Zhang, Yanmin
Date: Tue Jun 22 2010 - 05:10:32 EST


On Tue, 2010-06-22 at 10:24 +0200, Jes Sorensen wrote:
> On 06/21/10 11:31, Zhang, Yanmin wrote:
> > @@ -583,10 +584,20 @@ static void x86_pmu_disable_all(void)
> > }
> > }
> >
> > +#ifdef CONFIG_KVM_PERF
> > +static int kvm_hw_perf_enable(void);
> > +static int kvm_hw_perf_disable(void);
> > +#endif
>
> Please put these prototypes into a header ... and create dummy stubs for
> them when CONFIG_KVM_PERF is not set.
Ok. I just didn't want to touch too much generic codes of perf.

>
> > void hw_perf_disable(void)
> > {
> > struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
> >
> > +#ifdef CONFIG_KVM_PERF
> > + if (!kvm_hw_perf_disable())
> > + return;
> > +#endif
>
> If you stub them out we can avoid all the ugly #ifdefs
Ok.

>
> > @@ -810,6 +821,11 @@ void hw_perf_enable(void)
> > struct hw_perf_event *hwc;
> > int i, added = cpuc->n_added;
> >
> > +#ifdef CONFIG_KVM_PERF
> > + if (!kvm_hw_perf_enable())
> > + return;
> > +#endif
>
> and here....
Ok.

>
> > @@ -1317,6 +1334,11 @@ void __init init_hw_perf_events(void)
> >
> > pr_info("Performance Events: ");
> >
> > +#ifdef CONFIG_KVM_PERF
> > + if (!kvm_init_hw_perf_events())
> > + return;
> > +#endif
>
> and again here :)
Ok. Peter is working out a couple of patches to support multiple PMU. His patches
change pmu difition and we might move some into the callbacks. That will become
much clearer.

Yanmin



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