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