lkml.org 
[lkml]   [2007]   [Dec]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 04/52] KVM: Replace 'light_exits' stat with 'host_state_reload'
    Date
    This is a little more accurate (since it counts actual reloads, not potential
    reloads), and reverses the sense of the statistic to measure a bad event like
    most of the other stats (e.g. we want to minimize all counters).

    Signed-off-by: Avi Kivity <avi@qumranet.com>
    ---
    drivers/kvm/kvm.h | 2 +-
    drivers/kvm/svm.c | 1 +
    drivers/kvm/vmx.c | 1 +
    drivers/kvm/x86.c | 6 ++----
    4 files changed, 5 insertions(+), 5 deletions(-)

    diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h
    index 59e001c..04efe88 100644
    --- a/drivers/kvm/kvm.h
    +++ b/drivers/kvm/kvm.h
    @@ -246,7 +246,7 @@ struct kvm_stat {
    u32 halt_wakeup;
    u32 request_irq_exits;
    u32 irq_exits;
    - u32 light_exits;
    + u32 host_state_reload;
    u32 efer_reload;
    };

    diff --git a/drivers/kvm/svm.c b/drivers/kvm/svm.c
    index 762302a..94c51a0 100644
    --- a/drivers/kvm/svm.c
    +++ b/drivers/kvm/svm.c
    @@ -654,6 +654,7 @@ static void svm_vcpu_put(struct kvm_vcpu *vcpu)
    struct vcpu_svm *svm = to_svm(vcpu);
    int i;

    + ++vcpu->stat.host_state_reload;
    for (i = 0; i < NR_HOST_SAVE_USER_MSRS; i++)
    wrmsrl(host_save_user_msrs[i], svm->host_user_msrs[i]);

    diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c
    index 30220ea..4e60cf9 100644
    --- a/drivers/kvm/vmx.c
    +++ b/drivers/kvm/vmx.c
    @@ -463,6 +463,7 @@ static void vmx_load_host_state(struct vcpu_vmx *vmx)
    if (!vmx->host_state.loaded)
    return;

    + ++vmx->vcpu.stat.host_state_reload;
    vmx->host_state.loaded = 0;
    if (vmx->host_state.fs_reload_needed)
    load_fs(vmx->host_state.fs_sel);
    diff --git a/drivers/kvm/x86.c b/drivers/kvm/x86.c
    index b7c72ac..923dfd4 100644
    --- a/drivers/kvm/x86.c
    +++ b/drivers/kvm/x86.c
    @@ -60,7 +60,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = {
    { "halt_wakeup", STAT_OFFSET(halt_wakeup) },
    { "request_irq", STAT_OFFSET(request_irq_exits) },
    { "irq_exits", STAT_OFFSET(irq_exits) },
    - { "light_exits", STAT_OFFSET(light_exits) },
    + { "host_state_reload", STAT_OFFSET(host_state_reload) },
    { "efer_reload", STAT_OFFSET(efer_reload) },
    { NULL }
    };
    @@ -1988,10 +1988,8 @@ again:
    ++vcpu->stat.request_irq_exits;
    goto out;
    }
    - if (!need_resched()) {
    - ++vcpu->stat.light_exits;
    + if (!need_resched())
    goto again;
    - }
    }

    out:
    --
    1.5.3.7


    \
     
     \ /
      Last update: 2007-12-30 08:15    [W:2.290 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site