[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 1/2] x86/xen: remove xen_have_vcpu_info_placement flag
On 9/22/21 6:31 AM, Juergen Gross wrote: > > - if (xen_have_vcpu_info_placement) { > - vcpup = &per_cpu(xen_vcpu_info, cpu); > - info.mfn = arbitrary_virt_to_mfn(vcpup); > - info.offset = offset_in_page(vcpup); > + vcpup = &per_cpu(xen_vcpu_info, cpu); > + info.mfn = arbitrary_virt_to_mfn(vcpup); > + info.offset = offset_in_page(vcpup); > > - /* > - * Check to see if the hypervisor will put the vcpu_info > - * structure where we want it, which allows direct access via > - * a percpu-variable. > - * N.B. This hypercall can _only_ be called once per CPU. > - * Subsequent calls will error out with -EINVAL. This is due to > - * the fact that hypervisor has no unregister variant and this > - * hypercall does not allow to over-write info.mfn and > - * info.offset. > - */ > - err = HYPERVISOR_vcpu_op(VCPUOP_register_vcpu_info, > - xen_vcpu_nr(cpu), &info); > - > - if (err) { > - pr_warn_once("register_vcpu_info failed: cpu=%d > err=%d\n", > - cpu, err); > - xen_have_vcpu_info_placement = 0; > - } else { > - /* > - * This cpu is using the registered vcpu info, even if > - * later ones fail to. > - */ > - per_cpu(xen_vcpu, cpu) = vcpup; > - } > - } > - > - if (!xen_have_vcpu_info_placement) > - xen_vcpu_info_reset(cpu); > + /* > + * N.B. This hypercall can _only_ be called once per CPU. > + * Subsequent calls will error out with -EINVAL. This is due to > + * the fact that hypervisor has no unregister variant and this > + * hypercall does not allow to over-write info.mfn and > + * info.offset. > + */ > + err = HYPERVISOR_vcpu_op(VCPUOP_register_vcpu_info, xen_vcpu_nr(cpu), > + &info); > + if (err) > + panic("register_vcpu_info failed: cpu=%d err=%d\n", cpu, err); > This is change in behavior. Before if the hypercall failed we still try to boot. I am not sure we need to worry about this (since it's not clear it actually works) but I'd at least mention this in the commit message. -boris
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |