Re: [PATCH v2 4/7] x86/hyper-v: redirect reenlightment notifications on CPU offlining

From: Vitaly Kuznetsov
Date: Mon Jan 15 2018 - 05:44:23 EST


Thomas Gleixner <tglx@xxxxxxxxxxxxx> writes:

> On Wed, 13 Dec 2017, Vitaly Kuznetsov wrote:
>> +static int hv_cpu_die(unsigned int cpu)
>> +{
>> + struct hv_reenlightenment_control re_ctrl;
>> + int i;
>> + static DEFINE_SPINLOCK(lock);
>> +
>> + if (hv_reenlightenment_cb == NULL)
>> + return 0;
>> +
>> + /* Make sure the CPU we migrate to is not going away too */
>> + spin_lock(&lock);
>
> What kind of voodoo is this? CPU hotplug is serialized already...
>

Yes, someone around made a comment 'what happens if some day we'll have
parallel cpu hot[un]plug' and I added this. Not really needed, will drop
in v3.

>> + rdmsrl(HV_X64_MSR_REENLIGHTENMENT_CONTROL, *((u64 *)&re_ctrl));
>> + if (re_ctrl.target_vp == hv_vp_index[cpu]) {
>> + /* Find some other online CPU */
>> + for_each_online_cpu(i) {
>
> cpu = cpumask_any_but(cpu_online_mask);
>
> Hmm?
>

Cool, thanks)

--
Vitaly