public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
  • * [PATCH] move kvm_guest_exit() after local_irq_enable()
           [not found] <47135D1B.1060004@bull.net>
           [not found] ` <11926264852739-git-send-email-Laurent.Vivier@bull.net>
    @ 2007-10-18 13:19 ` Laurent Vivier
           [not found]   ` <11927135412363-git-send-email-Laurent.Vivier-6ktuUTfB/bM@public.gmane.org>
      1 sibling, 1 reply; 11+ messages in thread
    From: Laurent Vivier @ 2007-10-18 13:19 UTC (permalink / raw)
      To: mingo; +Cc: linux-kernel, avi, borntraeger, kvm-devel, Laurent Vivier
    
    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
    
    ---
     drivers/kvm/kvm_main.c |    5 ++++-
     kernel/sched.c         |    1 -
     2 files changed, 4 insertions(+), 2 deletions(-)
    
    diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c
    index 87275be..b9cd1f0 100644
    --- a/drivers/kvm/kvm_main.c
    +++ b/drivers/kvm/kvm_main.c
    @@ -2194,12 +2194,15 @@ again:
     
     	kvm_x86_ops->run(vcpu, kvm_run);
     
    -	kvm_guest_exit();
     	vcpu->guest_mode = 0;
     	local_irq_enable();
     
     	++vcpu->stat.exits;
     
    +	barrier();
    +
    +	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
    
    ^ permalink raw reply related	[flat|nested] 11+ messages in thread

  • end of thread, other threads:[~2007-10-22  9:10 UTC | newest]
    
    Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <47135D1B.1060004@bull.net>
         [not found] ` <11926264852739-git-send-email-Laurent.Vivier@bull.net>
         [not found]   ` <11926264852739-git-send-email-Laurent.Vivier-6ktuUTfB/bM@public.gmane.org>
    2007-10-18 12:39     ` Use virtual cpu accounting if available for guest times Christian Borntraeger
         [not found]       ` <200710181439.10390.borntraeger-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
    2007-10-18 12:41         ` Avi Kivity
    2007-10-19 16:57       ` [kvm-devel] " Hollis Blanchard
    2007-10-19 17:18         ` Hollis Blanchard
    2007-10-18 13:19 ` [PATCH] move kvm_guest_exit() after local_irq_enable() Laurent Vivier
         [not found]   ` <11927135412363-git-send-email-Laurent.Vivier-6ktuUTfB/bM@public.gmane.org>
    2007-10-18 13:32     ` Avi Kivity
    2007-10-18 13:49       ` [kvm-devel] " Laurent Vivier
    2007-10-22  8:26     ` Ingo Molnar
         [not found]       ` <20071022082604.GA28528-X9Un+BFzKDI@public.gmane.org>
    2007-10-22  8:51         ` Avi Kivity
         [not found]           ` <471C647A.50908-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
    2007-10-22  8:57             ` Ingo Molnar
         [not found]               ` <20071022085703.GA2781-X9Un+BFzKDI@public.gmane.org>
    2007-10-22  9:10                 ` Avi Kivity
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox