• Jan Beulich's avatar
    x86/Xen: streamline (and fix) PV CPU enumeration · e25a8d95
    Jan Beulich authored
    This started out with me noticing that "dom0_max_vcpus=<N>" with <N>
    larger than the number of physical CPUs reported through ACPI tables
    would not bring up the "excess" vCPU-s. Addressing this is the primary
    purpose of the change; CPU maps handling is being tidied only as far as
    is necessary for the change here (with the effect of also avoiding the
    setting up of too much per-CPU infrastructure, i.e. for CPUs which can
    never come online).
    
    Noticing that xen_fill_possible_map() is called way too early, whereas
    xen_filter_cpu_maps() is called too late (after per-CPU areas were
    already set up), and further observing that each of the functions serves
    only one of Dom0 or DomU, it looked like it was better to simplify this.
    Use the .get_smp_config hook instead, uniformly for Dom0 and DomU.
    xen_fill_possible_map() can be dropped altogether, while
    xen_filter_cpu_maps() is re-purposed but not otherwise changed.
    Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
    Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
    Link: https://lore.kernel.org/r/2dbd5f0a-9859-ca2d-085e-a02f7166c610@suse.comSigned-off-by: default avatarJuergen Gross <jgross@suse.com>
    e25a8d95
enlighten_pv.c 33.8 KB