* Gleb Natapov <gleb@xxxxxxxxxx> [2012-01-17 15:20:51]: > > Having the hypercall makes the intent of vcpu (to sleep on a kick) clear to > > hypervisor vs assuming that because of a trapped HLT instruction (which > > will anyway won't work when yield_on_hlt=0). > > > The purpose of yield_on_hlt=0 is to allow VCPU to occupy CPU for the > entire time slice no mater what. I do not think disabling yield on HLT > is even make sense in CPU oversubscribe scenario. Yes, so is there any real use for yield_on_hlt=0? I believe Anthony initially added it as a way to implement CPU bandwidth capping for VMs, which would ensure that busy VMs don't eat into cycles meant for a idle VM. Now that we have proper support in scheduler for CPU bandwidth capping, is there any real world use for yield_on_hlt=0? If not, deprecate it? > Now if you'll call > KVM_HC_WAIT_FOR_KICK instead of HLT you will effectively ignore > yield_on_hlt=0 setting. I guess that depends on what we do in KVM_HC_WAIT_FOR_KICK. If we do yield_to() rather than sleep, it should minimize how much cycles vcpu gives away to a competing VM (which seems to be the biggest purpose why one may want to set yield_on_hlt=0). > This is like having PV HLT that does not obey > VMX exit control setting. - vatsa _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization