Re: [PATCH] KVM: PPC: Use schedule instead of cond_resched
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
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
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
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
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
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
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