• Sergey Senozhatsky's avatar
    KVM: do not shrink halt_poll_ns below grow_start · ae232ea4
    Sergey Senozhatsky authored
    grow_halt_poll_ns() ignores values between 0 and
    halt_poll_ns_grow_start (10000 by default). However,
    when we shrink halt_poll_ns we may fall way below
    halt_poll_ns_grow_start and endup with halt_poll_ns
    values that don't make a lot of sense: like 1 or 9,
    or 19.
    
    VCPU1 trace (halt_poll_ns_shrink equals 2):
    
    VCPU1 grow 10000
    VCPU1 shrink 5000
    VCPU1 shrink 2500
    VCPU1 shrink 1250
    VCPU1 shrink 625
    VCPU1 shrink 312
    VCPU1 shrink 156
    VCPU1 shrink 78
    VCPU1 shrink 39
    VCPU1 shrink 19
    VCPU1 shrink 9
    VCPU1 shrink 4
    
    Mirror what grow_halt_poll_ns() does and set halt_poll_ns
    to 0 as soon as new shrink-ed halt_poll_ns value falls
    below halt_poll_ns_grow_start.
    Signed-off-by: default avatarSergey Senozhatsky <senozhatsky@chromium.org>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Message-Id: <20210902031100.252080-1-senozhatsky@chromium.org>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    ae232ea4
kvm_main.c 139 KB