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...

> +     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?

Thanks,

        tglx
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to