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

daemon,agent: Use custom load1 for CPU scaling #1136

Draft
wants to merge 9 commits into
base: misha/cpu-scaling
Choose a base branch
from

Commits on Oct 31, 2024

  1. neonvm-controller: add spec.cpuScalingMode, change vm-controller to e…

    …xplicitly default the field value if it is not set
    
    Signed-off-by: Misha Sakhnov <[email protected]>
    mikhail-sakhnov committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    8853993 View commit details
    Browse the repository at this point in the history
  2. neonvmrunner,neonvmcontroller: allocate all possible CPUs to the VM a…

    …nd mark vmSpec.Guest.CPUs.Min as online during the boot
    
    Signed-off-by: Misha Sakhnov <[email protected]>
    mikhail-sakhnov committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    513a1a2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    72f060c View commit details
    Browse the repository at this point in the history
  4. neonvm: sysfs cpu state based scaling support

    introduce separate CPU scaling flow based on the vmSpec.cpuScalingMode
    
    If vmSpec.cpuScalingMode is equal to `qmp_scaling` the logic of the
    scaling is preserved as before:
    
    - Scale, if required the amount of CPUs using qmp commands.
    - If it is required to scale cgroups, call vm-runner /cpu_change endpoint
    
    if vmSpec.cpuScalingMode is equal to `cpuSysfsStateScaling` all cpu
    scaling requests go directly to the vm-runner /cpu_change, which in
    that configuration goes to the neonvm-daemon to reconcile required
    amount of online CPUs.
    
    Value `cpuSysfsStateScaling` also modifies the qemu and the kernel
    arguments to enable plug all CPUs but mark as online only first one.
    
    Signed-off-by: Misha Sakhnov <[email protected]>
    mikhail-sakhnov committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    998f78d View commit details
    Browse the repository at this point in the history
  5. neonvm: apply code review fixes

    pass cpuScalingMode as argument to the vm-runner
    rename arguments, constants and functions here and there
    drop unused code
    move default cpu scaling mode to controller argument
    
    Signed-off-by: Misha Sakhnov <[email protected]>
    mikhail-sakhnov committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    65e86fb View commit details
    Browse the repository at this point in the history
  6. neonvm-controller: apply lint and regenerate code

    Co-authored-by: Oleg Vasilev <[email protected]>
    mikhail-sakhnov and Omrigan committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    adbcc04 View commit details
    Browse the repository at this point in the history
  7. neonvm-controller: rename runner cpu functions

    Signed-off-by: Misha Sakhnov <[email protected]>
    mikhail-sakhnov committed Oct 31, 2024
    Configuration menu
    Copy the full SHA
    97ff1f7 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    991ba87 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2024

  1. Configuration menu
    Copy the full SHA
    68c68e4 View commit details
    Browse the repository at this point in the history