[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] x86/vpmu: add cpu hot unplug notifier for vpmu
> >>> On 18.05.17 at 16:23, <luwei.kang@xxxxxxxxx> wrote: > >> > --- a/xen/arch/x86/cpu/vpmu.c > >> > +++ b/xen/arch/x86/cpu/vpmu.c > >> > @@ -859,6 +859,7 @@ static int cpu_callback( > >> > { > >> > vpmu_save_force(vcpu); > >> > vpmu_reset(vpmu, VPMU_CONTEXT_LOADED); > >> > + per_cpu(last_vcpu, cpu) = NULL; // OR: > >> > this_cpu(last_vcpu) > > = NULL; > >> > } > >> > As you mentioned in before comments, it has been done in > > vpmu_save_force(). So this change is unnecessary. > >> > >> Indeed. But all I was talking is last_pcpu (whereas you once again > >> talk > > about last_vcpu). > >> > >> > In summary, I think it is enough to solve the issue in > >> > vpmu_load() and > > vpmu_arch_destroy(). > >> > >> That's what I alluded to in my reply. > >> > >> > After cpu_callback() function, per_cpu(last_vcpu, > >> > vpmu->last_pcpu) will be NULL > >> > >> No. per_cpu(..., <offlined-pcpu>) simply is invalid. > >> > >> > and VPMU_CONTEXT_LOADED will be clear. > >> > In vpmu_arch_destroy(), there will not make remote call to clear > >> > last. > >> > >> I don't understand this sentence. > > > > I mean per_cpu(..., <offlined-pcpu>) will be NULL after > > cpu_callback(), so that "per_cpu(last_vcpu, vpmu->last_pcpu) == v" > > check in > > vpmu_arch_destroy() will be fail when last_pcpu is the offlined pCPU. > > Or, it may make a remote call to clear the last_vpcu (vpmu_clear_last()). > > But I don't understand why simply is invalid, last_vcpu set to NULL is > > presented in source code. How to comprehend it? > > per_cpu(..., <offlined-pcpu>) will fault once the CPU is actually offline. > See free_percpu_area(). Oh, yes. Thanks for your clarification. Thanks, Luwei Kang _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |