On Tue, Jan 17, 2012 at 07:58:18PM +0530, Srivatsa Vaddagiri wrote:
> * Gleb Natapov <[email protected]> [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?
>
I was against adding it in the first place, so if IBM no longer needs it
I am for removing it ASAP.
> > 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
--
Gleb.
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization