lkml.org 
[lkml]   [2007]   [Oct]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] clear PF_VCPU in kvm_guest_exit()
    Date
    clear PF_VCPU in kvm_guest_exit() and move kvm_guest_exit() after 
    local_irq_enable().

    According comments from Avi, we can clear PF_VCPU in kvm_guest_exit if we move
    it after local_irq_enable().

    http://lkml.org/lkml/2007/10/15/114

    To simplify s390 port, we don't clear it in account_system_time().

    http://lkml.org/lkml/2007/10/15/183

    Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.net>
    ---
    drivers/kvm/kvm.h | 1 +
    drivers/kvm/kvm_main.c | 3 ++-
    kernel/sched.c | 1 -
    3 files changed, 3 insertions(+), 2 deletions(-)
    diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h
    index e9dbf67..e8b4902 100644
    --- a/drivers/kvm/kvm.h
    +++ b/drivers/kvm/kvm.h
    @@ -677,6 +677,7 @@ static inline void kvm_guest_enter(void)

    static inline void kvm_guest_exit(void)
    {
    + current->flags &= ~PF_VCPU;
    }

    static inline int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t gva,
    diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c
    index 87275be..a9db477 100644
    --- a/drivers/kvm/kvm_main.c
    +++ b/drivers/kvm/kvm_main.c
    @@ -2194,12 +2194,13 @@ again:

    kvm_x86_ops->run(vcpu, kvm_run);

    - kvm_guest_exit();
    vcpu->guest_mode = 0;
    local_irq_enable();

    ++vcpu->stat.exits;

    + kvm_guest_exit();
    +
    preempt_enable();

    /*
    diff --git a/kernel/sched.c b/kernel/sched.c
    index b27ab3e..57fac22 100644
    --- a/kernel/sched.c
    +++ b/kernel/sched.c
    @@ -3315,7 +3315,6 @@ void account_system_time(struct task_struct *p, int hardirq_offset,
    #ifdef CONFIG_GUEST_ACCOUNTING
    if (p->flags & PF_VCPU) {
    account_guest_time(p, cputime);
    - p->flags &= ~PF_VCPU;
    return;
    }
    #endif
    --
    1.5.2.4
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-10-17 15:11    [from the cache]
    ©2003-2011 Jasper Spaans. Advertise on this site