aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/mm/pgtable-book3s64.c
diff options
context:
space:
mode:
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>2017-07-27 11:54:55 +0530
committerMichael Ellerman <mpe@ellerman.id.au>2017-08-17 23:31:52 +1000
commit0f4bc0932e51817105fdee77a4668069a89581d5 (patch)
tree248a04eb03e004057d208b0ede68903bf2e13462 /arch/powerpc/mm/pgtable-book3s64.c
parentpowerpc/mm: Don't send IPI to all cpus on THP updates (diff)
downloadlinux-dev-0f4bc0932e51817105fdee77a4668069a89581d5.tar.xz
linux-dev-0f4bc0932e51817105fdee77a4668069a89581d5.zip
powerpc/mm/cxl: Add the fault handling cpu to mm cpumask
We use mm cpumask for serializing against lockless page table walk. Anybody who is doing a lockless page table walk is expected to disable irq and only cpus in mm cpumask is expected do the lockless walk. This ensure that a THP split can send IPI to only cpus in the mm cpumask, to make sure there are no parallel lockless page table walk. Add the CAPI fault handling cpu to the mm cpumask so that we can do the lockless page table walk while inserting hash page table entries. Reviewed-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/mm/pgtable-book3s64.c')
-rw-r--r--arch/powerpc/mm/pgtable-book3s64.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/arch/powerpc/mm/pgtable-book3s64.c b/arch/powerpc/mm/pgtable-book3s64.c
index 57b947cde2bf..3b65917785a5 100644
--- a/arch/powerpc/mm/pgtable-book3s64.c
+++ b/arch/powerpc/mm/pgtable-book3s64.c
@@ -83,15 +83,7 @@ static void do_nothing(void *unused)
void serialize_against_pte_lookup(struct mm_struct *mm)
{
smp_mb();
- /*
- * Cxl fault handling requires us to do a lockless page table
- * walk while inserting hash page table entry with mm tracked
- * in cxl context. Hence we need to do a global flush.
- */
- if (cxl_ctx_in_use())
- smp_call_function(do_nothing, NULL, 1);
- else
- smp_call_function_many(mm_cpumask(mm), do_nothing, NULL, 1);
+ smp_call_function_many(mm_cpumask(mm), do_nothing, NULL, 1);
}
/*