Thomas Gleixner <[email protected]> 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
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel