Re: [PATCH] KVM: PPC: Use schedule instead of cond_resched

2013-12-10 Thread Peter Zijlstra
On Wed, Dec 11, 2013 at 07:52:51AM +1100, Benjamin Herrenschmidt wrote:
 On Tue, 2013-12-10 at 15:40 +0100, Alexander Graf wrote:
  On 10.12.2013, at 15:21, Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com 
  wrote:
  
   From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
   
   We already checked need_resched. So we can call schedule directly
   
   Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
  
  The real fix for the issue you're seeing is
  
https://lkml.org/lkml/2013/11/28/241
  
 
 And is still not upstream Peter ?

Yeah, I went on holidays and the patch just sat there. I'll prod Ingo
into merging it.
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH] KVM: PPC: Use schedule instead of cond_resched

2013-12-10 Thread Alexander Graf

On 10.12.2013, at 17:08, Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com 
wrote:

 Alexander Graf ag...@suse.de writes:
 
 On 10.12.2013, at 15:21, Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com 
 wrote:
 
 From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
 
 We already checked need_resched. So we can call schedule directly
 
 Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
 
 The real fix for the issue you're seeing is
 
  https://lkml.org/lkml/2013/11/28/241
 
 True, I mentioned that in the thread
 
 https://lkml.org/lkml/2013/12/9/64
 
 But do we need to do cond_resched after we checked for need_resched() ?

This is really just copying the logic from kvm_resched() from 
virt/kvm/kvm_main.c. And I'd prefer not to diverge from that. I do agree that 
there's a good chance we don't need it, as it seems to predate preempt 
notifiers:

  
https://git.kernel.org/cgit/virt/kvm/kvm.git/commit/?id=3fca03653010b8c5fa63b99fc94c78cbfb433d00

But this is a discussion that should occur on the non-ppc specific code first 
:).


Alex

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH] KVM: PPC: Use schedule instead of cond_resched

2013-12-10 Thread Alexander Graf

On 10.12.2013, at 15:21, Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com 
wrote:

 From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
 
 We already checked need_resched. So we can call schedule directly
 
 Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com

The real fix for the issue you're seeing is

  https://lkml.org/lkml/2013/11/28/241


Alex

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH] KVM: PPC: Use schedule instead of cond_resched

2013-12-10 Thread Benjamin Herrenschmidt
On Tue, 2013-12-10 at 23:48 +0100, Peter Zijlstra wrote:
 
 Yeah, I went on holidays and the patch just sat there. I'll prod Ingo
 into merging it.

Thanks !

Cheers,
Ben.


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH] KVM: PPC: Use schedule instead of cond_resched

2013-12-10 Thread Benjamin Herrenschmidt
On Tue, 2013-12-10 at 15:40 +0100, Alexander Graf wrote:
 On 10.12.2013, at 15:21, Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com 
 wrote:
 
  From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
  
  We already checked need_resched. So we can call schedule directly
  
  Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
 
 The real fix for the issue you're seeing is
 
   https://lkml.org/lkml/2013/11/28/241
 

And is still not upstream Peter ?

Cheers,
Ben.


___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


[PATCH] KVM: PPC: Use schedule instead of cond_resched

2013-12-10 Thread Aneesh Kumar K.V
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com

We already checked need_resched. So we can call schedule directly

Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
---

NOTE: This patch also work around a regression upstream w.r.t PR KVM

 BUG: soft lockup - CPU#0 stuck for 23s! [qemu-system-ppc:4394]
 Modules linked in:
 CPU: 0 PID: 4394 Comm: qemu-system-ppc Not tainted 3.13.0-rc3+ #98
 task: c001d0788400 ti: c001dca0 task.ti: c001dca0
 NIP: c082dd80 LR: c0081ae0 CTR: c0062ba0
 REGS: c001dca02f70 TRAP: 0901   Not tainted  (3.13.0-rc3+)
 MSR: 80009032 SF,EE,ME,IR,DR,RI  CR: 24822024  XER: 
 CFAR: c0081adc SOFTE: 1
 GPR00: c0081ae0 c001dca031f0 c0d67ab0 0001
 GPR04: 7102 0001 0189a0d786b7 018c
 GPR08: 0001   c0da
 GPR12: 0c00 cfef
 NIP [c082dd80] ._cond_resched+0x0/0x40
 LR [c0081ae0] .kvmppc_prepare_to_enter+0x2a0/0x2e0
 Call Trace:
 [c001dca031f0] [c0081ae0] .kvmppc_prepare_to_enter+0x2a0/0x2e0 
(unreliable)
 [c001dca03290] [c008f2cc] .kvmppc_handle_exit_pr+0xec/0xa40
 [c001dca03340] [c00918c4] kvm_start_lightweight+0xac/0xbc
 [c001dca03510] [c008efe0] .kvmppc_vcpu_run_pr+0x130/0x2a0
 [c001dca039e0] [c00855bc] .kvmppc_vcpu_run+0x2c/0x40
 [c001dca03a50] [c0082c94] .kvm_arch_vcpu_ioctl_run+0x54/0x1b0
 [c001dca03ae0] [c007d5f8] .kvm_vcpu_ioctl+0x478/0x740
 [c001dca03ca0] [c0218864] .do_vfs_ioctl+0x4a4/0x760
 [c001dca03d80] [c0218b78] .SyS_ioctl+0x58/0xb0
 [c001dca03e30] [c0009e58] syscall_exit+0x0/0x98
 Instruction dump:
 e92d0260 e94911c0 812a0004 5529f07e 5529103e 912a0004 38210080 e8010010
 ebc1fff0 ebe1fff8 7c0803a6 4e800020 7c0802a6 3860 f8010010 f821ff91 

 arch/powerpc/kvm/powerpc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index e4d511c8b38b..6a49b23a3276 100644
--- a/arch/powerpc/kvm/powerpc.c
+++ b/arch/powerpc/kvm/powerpc.c
@@ -74,7 +74,7 @@ int kvmppc_prepare_to_enter(struct kvm_vcpu *vcpu)
while (true) {
if (need_resched()) {
local_irq_enable();
-   cond_resched();
+   schedule();
local_irq_disable();
continue;
}
-- 
1.8.3.2

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH] KVM: PPC: Use schedule instead of cond_resched

2013-12-10 Thread Aneesh Kumar K.V
Alexander Graf ag...@suse.de writes:

 On 10.12.2013, at 15:21, Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com 
 wrote:

 From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
 
 We already checked need_resched. So we can call schedule directly
 
 Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com

 The real fix for the issue you're seeing is

   https://lkml.org/lkml/2013/11/28/241

True, I mentioned that in the thread

https://lkml.org/lkml/2013/12/9/64

But do we need to do cond_resched after we checked for need_resched() ?

-aneesh

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev