diff for duplicates of <1432083608.20823.19.camel@neuling.org> diff --git a/a/1.txt b/N1/1.txt index bd6208d..29ceae6 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -2,12 +2,12 @@ On Wed, 2015-05-20 at 00:30 +0530, Shreyas B. Prabhu wrote: > Doorbell can be used to cause ipi on cpus which are sibling threads on > the same core. So icp_native_cause_ipi checks if the destination cpu > is a sibling thread of the current cpu and uses doorbell in such cases. ->=20 -> But while running with CONFIG_PREEMPT=3Dy, since this section is +> +> But while running with CONFIG_PREEMPT=y, since this section is > preemtible, we can run into issues if after we check if the destination > cpu is a sibling cpu, the task gets migrated from a sibling cpu to a > cpu on another core. ->=20 +> > Fix this by using get_cpu()/ put_cpu() Thanks. Looks good and it's boots for me. @@ -18,14 +18,12 @@ Signed-off-by: Michael Neuling <mikey@neuling.org> > --- > arch/powerpc/sysdev/xics/icp-native.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) ->=20 -> diff --git a/arch/powerpc/sysdev/xics/icp-native.c b/arch/powerpc/sysdev/= -xics/icp-native.c +> +> diff --git a/arch/powerpc/sysdev/xics/icp-native.c b/arch/powerpc/sysdev/xics/icp-native.c > index 2fc4cf1..62fd478 100644 > --- a/arch/powerpc/sysdev/xics/icp-native.c > +++ b/arch/powerpc/sysdev/xics/icp-native.c -> @@ -147,12 +147,16 @@ static void icp_native_cause_ipi(int cpu, unsigned = -long data) +> @@ -147,12 +147,16 @@ static void icp_native_cause_ipi(int cpu, unsigned long data) > { > kvmppc_set_host_ipi(cpu, 1); > #ifdef CONFIG_PPC_DOORBELL @@ -45,5 +43,5 @@ long data) > - icp_native_set_qirr(cpu, IPI_PRIORITY); > + icp_native_set_qirr(cpu, IPI_PRIORITY); > } -> =20 +> > /* diff --git a/a/content_digest b/N1/content_digest index d57779d..1d557e1 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -3,7 +3,9 @@ "Subject\0Re: [PATCH] powerpc: Make doorbell check preemption safe\0" "Date\0Wed, 20 May 2015 11:00:08 +1000\0" "To\0Shreyas B. Prabhu <shreyas@linux.vnet.ibm.com>\0" - "Cc\0paulus@samba.org" + "Cc\0mpe@ellerman.id.au" + benh@kernel.crashing.org + paulus@samba.org linuxppc-dev@lists.ozlabs.org " linux-kernel@vger.kernel.org\0" "\00:1\0" @@ -12,12 +14,12 @@ "> Doorbell can be used to cause ipi on cpus which are sibling threads on\n" "> the same core. So icp_native_cause_ipi checks if the destination cpu\n" "> is a sibling thread of the current cpu and uses doorbell in such cases.\n" - ">=20\n" - "> But while running with CONFIG_PREEMPT=3Dy, since this section is\n" + "> \n" + "> But while running with CONFIG_PREEMPT=y, since this section is\n" "> preemtible, we can run into issues if after we check if the destination\n" "> cpu is a sibling cpu, the task gets migrated from a sibling cpu to a\n" "> cpu on another core.\n" - ">=20\n" + "> \n" "> Fix this by using get_cpu()/ put_cpu()\n" "\n" "Thanks. Looks good and it's boots for me.\n" @@ -28,14 +30,12 @@ "> ---\n" "> arch/powerpc/sysdev/xics/icp-native.c | 14 +++++++++-----\n" "> 1 file changed, 9 insertions(+), 5 deletions(-)\n" - ">=20\n" - "> diff --git a/arch/powerpc/sysdev/xics/icp-native.c b/arch/powerpc/sysdev/=\n" - "xics/icp-native.c\n" + "> \n" + "> diff --git a/arch/powerpc/sysdev/xics/icp-native.c b/arch/powerpc/sysdev/xics/icp-native.c\n" "> index 2fc4cf1..62fd478 100644\n" "> --- a/arch/powerpc/sysdev/xics/icp-native.c\n" "> +++ b/arch/powerpc/sysdev/xics/icp-native.c\n" - "> @@ -147,12 +147,16 @@ static void icp_native_cause_ipi(int cpu, unsigned =\n" - "long data)\n" + "> @@ -147,12 +147,16 @@ static void icp_native_cause_ipi(int cpu, unsigned long data)\n" "> {\n" "> \tkvmppc_set_host_ipi(cpu, 1);\n" "> #ifdef CONFIG_PPC_DOORBELL\n" @@ -55,7 +55,7 @@ "> -\t\ticp_native_set_qirr(cpu, IPI_PRIORITY);\n" "> +\ticp_native_set_qirr(cpu, IPI_PRIORITY);\n" "> }\n" - "> =20\n" + "> \n" > /* -70d93a048876d85563ae5c06ad524e8353432357ea979a9d09b55b08ecd289bb +40f176baa52239cd353caea80ab1b25760808aff2be84f969b60cefe8786aa8b
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.