sparc32: mm: Disable SPLIT_PTLOCK_CPUS
authorWill Deacon <will@kernel.org>
Tue, 26 May 2020 17:33:01 +0000 (18:33 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 3 Jun 2020 01:45:51 +0000 (18:45 -0700)
commit60bccaa671bce7ed040d9511b0738ca3b0a0e9ff
tree4cd661ce17ab6ea6cd8cda944a81335b78fa32f7
parent454b0289c6b5f2c66164654b80212d15fbef7a03
sparc32: mm: Disable SPLIT_PTLOCK_CPUS

The SRMMU page-table allocator is not compatible with SPLIT_PTLOCK_CPUS
for two major reasons:

  1. Pages are allocated via memblock, and therefore the ptl is not
     cleared by prep_new_page(), which is expected by ptlock_init()

  2. Multiple PTE tables can exist in a single page, causing them to
     share the same ptl and deadlock when attempting to take the same
     lock twice (e.g. as part of copy_page_range()).

Ensure that SPLIT_PTLOCK_CPUS is not selected for SPARC32.

Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
mm/Kconfig