Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CP-43468: push CPUID logic down from xapi into xenopsd #5091

Merged
merged 2 commits into from
Jul 6, 2023

Commits on Jul 5, 2023

  1. xapi: switch CPU feature sets to the abstract type and don't interpre…

    …t them
    
    The feature sets are now treated as opaque data in xapi, and operations
    on them are delegated to xenopsd. the two main operations are:
    
    1. Combining host feature sets into a pool-level feature set. The
       pool-level represents the lowest common denominator of CPU features.
       It is assigned to VMs that are started on the pool, such that they
       can migrate around to pool, to all hosts. The feature sets used for
       this are the "default policies" from Xen in the
       `features_{hvm;pv}_host` fields.
    2. Compatibility checks for live migration. When asked to live-migrate a
       VM to another host, a check is done to ensure that the host has all
       the CPU features that the VM is currently exposed to. This check is
       based on the "max policies" from Xen in the `features_{hvm;pv}`
       fields.
    
    The `Create_misc` module contains the logic for obtaining the hosts
    feature sets from xenopsd, and combining them to construct the pool
    level. This now uses the new `HOST.combine_cpu_features` call to
    xenopsd.
    
    This code used to send alerts for the case that CPU features
    were removed from the pool-level, for example when adding a host to the
    pool that doesn't have certain features. We can't do this kind of
    comparison anymore, and therefore drop the alerting. We may put it back
    in another form, later.
    
    The compatibility checks are in `Cpuid_helpers`, which now uses the new
    function `HOST.is_compatible`.
    
    Signed-off-by: Rob Hoes <[email protected]>
    
    (cherry picked from commit
    xapi-project@dd3dc05)
    robhoes committed Jul 5, 2023
    Configuration menu
    Copy the full SHA
    382c334 View commit details
    Browse the repository at this point in the history
  2. Remove CPUID tests from xapi and add to xenopsd

    Eventually, once everything CPUID-related is handled in libxc, all of
    these tests will be removed.
    
    Signed-off-by: Rob Hoes <[email protected]>
    
    (cherry picked from commit
    xapi-project@86f75db)
    robhoes committed Jul 5, 2023
    Configuration menu
    Copy the full SHA
    96efe4f View commit details
    Browse the repository at this point in the history