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

vCPU Hot-unplug #4753

Draft
wants to merge 3 commits into
base: feature/vcpu-hotplug
Choose a base branch
from

Commits on Aug 28, 2024

  1. Change hot-plug API endpoint

    Change from `add` to `target`. The user now supplies the number of vCPUs
    they would like to reach, rather than the number of vCPUs to add to the
    system. Obviously to make this work, hot-unplug functionality is needed
    as well.
    
    Examples:
    - Currently 1 vCPU, would like 16 vCPUs: target = 16
    - Currently 32 vCPUs, would like 2 vCPUs: target = 2
    
    Signed-off-by: James Curtis <[email protected]>
    JamesC1305 committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    2a87db8 View commit details
    Browse the repository at this point in the history
  2. Implement hot-unplug on the Guest side

    Guest side hot-unplug implementation. This means that the API call can
    be made, and the vCPUs are successfully removed from the guest, but the
    backing vCPU threads are not removed from the host VMM.
    
    As a result of this, hot-plugs that occur after hot-unplugs do not work
    correctly right now. Once the total thread count in the VMM exceeds 32,
    there is no effect of hot-plugging. To complete this, a refactor is
    needed of the VMM, such that the CpuContainer can somehow remove the
    threads when the guest kernel calls _EJ0.
    
    Signed-off-by: James Curtis <[email protected]>
    JamesC1305 committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    0bb130a View commit details
    Browse the repository at this point in the history
  3. Update metrics and swagger

    Update metrics and swagger to reflect the changes made to the API.
    
    Signed-off-by: James Curtis <[email protected]>
    JamesC1305 committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    99858de View commit details
    Browse the repository at this point in the history