diff for duplicates of <1367618808.19391.11@snotra> diff --git a/a/1.txt b/N1/1.txt index 67b704d..320d185 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -5,7 +5,7 @@ On 05/03/2013 03:56:47 PM, Caraman Mihai Claudiu-B02008 wrote: > > To: Caraman Mihai Claudiu-B02008 > > Cc: Wood Scott-B07421; kvm-ppc@vger.kernel.org; kvm@vger.kernel.org; > > linuxppc-dev@lists.ozlabs.org -> > Subject: Re: [PATCH] KVM: PPC: Book3E 64: Fix IRQs warnings and +> > Subject: Re: [PATCH] KVM: PPC: Book3E 64: Fix IRQs warnings and =20 > hangs > > > > > > > The unresponsiveness has to do with the fact that @@ -13,7 +13,7 @@ On 05/03/2013 03:56:47 PM, Caraman Mihai Claudiu-B02008 wrote: > > > > > does not guarantees to hard enable interrupts. > > > > > > > > Could you elaborate? If the saved IRQ state was "enabled", why -> > > > wouldn't arch_local_irq_restore() hard-enable IRQs? The last +> > > > wouldn't arch_local_irq_restore() hard-enable IRQs? The last =20 > thing > > > it > > > > does is __hard_irq_enable(). @@ -21,46 +21,46 @@ On 05/03/2013 03:56:47 PM, Caraman Mihai Claudiu-B02008 wrote: > > > if (!irq_happened) > > > return; > > -> > OK, so the problem is that we're not setting PACA_IRQ_HARD_DIS when +> > OK, so the problem is that we're not setting PACA_IRQ_HARD_DIS when =20 > we > > hard-disable interrupts? -> +>=20 > We enter guest with local_irq_disable() which means soft disabled, -Hmm... I don't see any obvious breakage from that, but it makes me -nervous. I'd be more comfortable if we just hard-disabled interrupts +Hmm... I don't see any obvious breakage from that, but it makes me =20 +nervous. I'd be more comfortable if we just hard-disabled interrupts =20 there. > when do we hard-disable interrupts? -Interrupts will be hard-disabled when we take an exception to exit +Interrupts will be hard-disabled when we take an exception to exit =20 guest state. > If we follow host exception handlers model -> they set PACA_IRQ_EE/DEC/DBELL but not PACA_IRQ_HARD_DIS. Can you +> they set PACA_IRQ_EE/DEC/DBELL but not PACA_IRQ_HARD_DIS. Can you =20 > give it -> a try to see how KVM behaves with PACA_IRQ_HARD_DIS? I can't do it +> a try to see how KVM behaves with PACA_IRQ_HARD_DIS? I can't do it =20 > right now. -I replaced the two calls to kvmppc_lazy_ee_enable() with calls to +I replaced the two calls to kvmppc_lazy_ee_enable() with calls to =20 hard_irq_disable(), and it seems to be working fine. -> > > > Where is the arch_local_irq_restore() instance you're talking +> > > > Where is the arch_local_irq_restore() instance you're talking =20 > about? > > > > > > ./arch/power/kernel/irq.c > > > > I meant the caller. :-P -> +>=20 > ./arch/powerpc/include/asm/hw_irq.h -> +>=20 > 55static inline unsigned long arch_local_irq_disable(void) > 56{ > 57 unsigned long flags, zero; > 58 > 59 asm volatile( > 60 "li %1,0; lbz %0,%2(13); stb %1,%2(13)" -> 61 : "=r" (flags), "=&r" (zero) +> 61 : "=3Dr" (flags), "=3D&r" (zero) > 62 : "i" (offsetof(struct paca_struct, soft_enabled)) > 63 : "memory"); > 64 @@ -76,4 +76,4 @@ hard_irq_disable(), and it seems to be working fine. Sigh. I meant the real caller, who's calling local_irq_restore(). --Scott +-Scott= diff --git a/a/content_digest b/N1/content_digest index 03cac06..aab7168 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,12 +1,12 @@ "ref\0300B73AA675FCE4A93EB4FC1D42459FF3E9B37@039-SN2MPN1-013.039d.mgd.msft.net\0" "From\0Scott Wood <scottwood@freescale.com>\0" "Subject\0Re: [PATCH] KVM: PPC: Book3E 64: Fix IRQs warnings and hangs\0" - "Date\0Fri, 03 May 2013 22:06:48 +0000\0" + "Date\0Fri, 3 May 2013 17:06:48 -0500\0" "To\0Caraman Mihai Claudiu-B02008 <B02008@freescale.com>\0" "Cc\0Wood Scott-B07421 <B07421@freescale.com>" - kvm-ppc@vger.kernel.org <kvm-ppc@vger.kernel.org> + linuxppc-dev@lists.ozlabs.org <linuxppc-dev@lists.ozlabs.org> kvm@vger.kernel.org <kvm@vger.kernel.org> - " linuxppc-dev@lists.ozlabs.org <linuxppc-dev@lists.ozlabs.org>\0" + " kvm-ppc@vger.kernel.org <kvm-ppc@vger.kernel.org>\0" "\00:1\0" "b\0" "On 05/03/2013 03:56:47 PM, Caraman Mihai Claudiu-B02008 wrote:\n" @@ -16,7 +16,7 @@ "> > To: Caraman Mihai Claudiu-B02008\n" "> > Cc: Wood Scott-B07421; kvm-ppc@vger.kernel.org; kvm@vger.kernel.org;\n" "> > linuxppc-dev@lists.ozlabs.org\n" - "> > Subject: Re: [PATCH] KVM: PPC: Book3E 64: Fix IRQs warnings and \n" + "> > Subject: Re: [PATCH] KVM: PPC: Book3E 64: Fix IRQs warnings and =20\n" "> hangs\n" "> >\n" "> > > > > The unresponsiveness has to do with the fact that\n" @@ -24,7 +24,7 @@ "> > > > > does not guarantees to hard enable interrupts.\n" "> > > >\n" "> > > > Could you elaborate? If the saved IRQ state was \"enabled\", why\n" - "> > > > wouldn't arch_local_irq_restore() hard-enable IRQs? The last \n" + "> > > > wouldn't arch_local_irq_restore() hard-enable IRQs? The last =20\n" "> thing\n" "> > > it\n" "> > > > does is __hard_irq_enable().\n" @@ -32,46 +32,46 @@ "> > > \tif (!irq_happened)\n" "> > > \t\treturn;\n" "> >\n" - "> > OK, so the problem is that we're not setting PACA_IRQ_HARD_DIS when \n" + "> > OK, so the problem is that we're not setting PACA_IRQ_HARD_DIS when =20\n" "> we\n" "> > hard-disable interrupts?\n" - "> \n" + ">=20\n" "> We enter guest with local_irq_disable() which means soft disabled,\n" "\n" - "Hmm... I don't see any obvious breakage from that, but it makes me \n" - "nervous. I'd be more comfortable if we just hard-disabled interrupts \n" + "Hmm... I don't see any obvious breakage from that, but it makes me =20\n" + "nervous. I'd be more comfortable if we just hard-disabled interrupts =20\n" "there.\n" "\n" "> when do we hard-disable interrupts?\n" "\n" - "Interrupts will be hard-disabled when we take an exception to exit \n" + "Interrupts will be hard-disabled when we take an exception to exit =20\n" "guest state.\n" "\n" "> If we follow host exception handlers model\n" - "> they set PACA_IRQ_EE/DEC/DBELL but not PACA_IRQ_HARD_DIS. Can you \n" + "> they set PACA_IRQ_EE/DEC/DBELL but not PACA_IRQ_HARD_DIS. Can you =20\n" "> give it\n" - "> a try to see how KVM behaves with PACA_IRQ_HARD_DIS? I can't do it \n" + "> a try to see how KVM behaves with PACA_IRQ_HARD_DIS? I can't do it =20\n" "> right now.\n" "\n" - "I replaced the two calls to kvmppc_lazy_ee_enable() with calls to \n" + "I replaced the two calls to kvmppc_lazy_ee_enable() with calls to =20\n" "hard_irq_disable(), and it seems to be working fine.\n" "\n" - "> > > > Where is the arch_local_irq_restore() instance you're talking \n" + "> > > > Where is the arch_local_irq_restore() instance you're talking =20\n" "> about?\n" "> > >\n" "> > > ./arch/power/kernel/irq.c\n" "> >\n" "> > I meant the caller. :-P\n" - "> \n" + ">=20\n" "> ./arch/powerpc/include/asm/hw_irq.h\n" - "> \n" + ">=20\n" "> 55static inline unsigned long arch_local_irq_disable(void)\n" "> 56{\n" "> 57 unsigned long flags, zero;\n" "> 58\n" "> 59 asm volatile(\n" "> 60 \"li %1,0; lbz %0,%2(13); stb %1,%2(13)\"\n" - "> 61 : \"=r\" (flags), \"=&r\" (zero)\n" + "> 61 : \"=3Dr\" (flags), \"=3D&r\" (zero)\n" "> 62 : \"i\" (offsetof(struct paca_struct, soft_enabled))\n" "> 63 : \"memory\");\n" "> 64\n" @@ -87,6 +87,6 @@ "\n" "Sigh. I meant the real caller, who's calling local_irq_restore().\n" "\n" - -Scott + -Scott= -baaa54887f2baf0dc523e7b90ba0368415f14e2cf66fd2fcfc80997a75207e37 +253f563b99ddd713118cdb7a7e74099b3e45ae68bfb00cbf7ae0ac891dda47bc
diff --git a/a/content_digest b/N2/content_digest index 03cac06..ba3a75c 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -1,7 +1,7 @@ "ref\0300B73AA675FCE4A93EB4FC1D42459FF3E9B37@039-SN2MPN1-013.039d.mgd.msft.net\0" "From\0Scott Wood <scottwood@freescale.com>\0" "Subject\0Re: [PATCH] KVM: PPC: Book3E 64: Fix IRQs warnings and hangs\0" - "Date\0Fri, 03 May 2013 22:06:48 +0000\0" + "Date\0Fri, 3 May 2013 17:06:48 -0500\0" "To\0Caraman Mihai Claudiu-B02008 <B02008@freescale.com>\0" "Cc\0Wood Scott-B07421 <B07421@freescale.com>" kvm-ppc@vger.kernel.org <kvm-ppc@vger.kernel.org> @@ -89,4 +89,4 @@ "\n" -Scott -baaa54887f2baf0dc523e7b90ba0368415f14e2cf66fd2fcfc80997a75207e37 +bbd1be8ce2c926053ecdb9cab56aa9b85de45f944abea7804d902cad980a4159
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.