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 kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html