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

Conversation

robhoes
Copy link
Member

@robhoes robhoes commented Jul 5, 2023

…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)
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 robhoes merged commit 1594d0d into xapi-project:1.249-lcm Jul 6, 2023
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants