powerpc/64s: Fix hash__change_memory_range preemption warning
authorNicholas Piggin <npiggin@gmail.com>
Thu, 13 Oct 2022 15:16:46 +0000 (01:16 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 18 Oct 2022 11:46:18 +0000 (22:46 +1100)
commit2b2095f3a6b43ec36ff890febc588df1ec32e826
tree5877fa74e049f53989a8092a507a2f8716827447
parentb9ef323ea1682f9837bf63ba10c5e3750f71a20a
powerpc/64s: Fix hash__change_memory_range preemption warning

stop_machine_cpuslocked takes a mutex so it must be called in a
preemptible context, so it can't simply be fixed by disabling
preemption.

This is not a bug, because CPU hotplug is locked, so this processor will
call in to the stop machine function. So raw_smp_processor_id() could be
used. This leaves a small chance that this thread will be migrated to
another CPU, so the master work would be done by a CPU from a different
context. Better for test coverage to make that a common case by just
having the first CPU to call in become the master.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20221013151647.1857994-2-npiggin@gmail.com
arch/powerpc/mm/book3s64/hash_pgtable.c