On Tue, May 31, 2022 at 10:59:25AM +0000, Jack Allister wrote: > A VMM can control a vCPU's CPU frequency by interfacing with KVM via > the vCPU file descriptor to enable/set CPU frequency scaling for a > guest. Instead of creating a separate IOCTL to this this, KVM capabil- > ities are extended to include a capability called > KVM_CAP_CPU_FREQ_SCALING. > > A generic set_cpu_freq interface is added to kvm_x86_ops > to allow for architecture (AMD/Intel) independent CPU frequency > scaling setting. > > For Intel platforms, Hardware-Controlled Performance States (HWP) are > used to implement CPU scaling within the guest. Further information on > this mechanism can be seen in Intel SDM Vol 3B (section 14.4). The CPU > frequency is set as soon as this function is called and is kept running > until explicitly reset or set again. > > Currently the AMD frequency setting interface is left unimplemented. > > Please note that CPU frequency scaling will have an effect on host > processing in it's current form. To change back to full performance > when running in host context an IOCTL with a frequency value of 0 > is needed to run back at uncapped speed. Nowhere does this explain *WHY* we would want to do this?