Message ID | 20210819113954.17515-3-lukas.bulwahn@gmail.com |
---|---|
State | New |
Headers | show |
Series | Kconfig symbol fixes on powerpc | expand |
Lukas Bulwahn <lukas.bulwahn@gmail.com> writes: > Commit 66f24fa766e3 ("mm: drop redundant ARCH_ENABLE_SPLIT_PMD_PTLOCK") > selects the non-existing config ARCH_ENABLE_PMD_SPLIT_PTLOCK in > ./arch/powerpc/platforms/Kconfig.cputype, but clearly it intends to select > ARCH_ENABLE_SPLIT_PMD_PTLOCK here (notice the word swapping!), as this > commit does select that for all other architectures. > > Rectify selection to ARCH_ENABLE_SPLIT_PMD_PTLOCK instead. > Yikes, yes, 66f24fa766e3 does seem to have got that wrong. It looks like that went into 5.13. I think we want to specifically target this for stable so that we don't lose the perfomance and scalability benefits of split pmd ptlocks: Cc: stable@vger.kernel.org # v5.13+ (I don't think you need to do another revision for this, I think mpe could add it when merging.) I tried to check whether we accidentally broke SPLIT_PMD_PTLOCKs while they were disabled: - There hasn't been any change to the pgtable_pmd_page_ctor or _dtor prototypes, and we haven't made any relevant changes to any of the files in arch/powerpc that called it. - I checked out v5.13 and powerpc/merge, applied this patch, built a pseries_le_defconfig and boot tested it in qemu. It didn't crash on boot or with /bin/sh and some shell commands, but I didn't exactly stress test the VM subsystem either. This gives me some confidence it's both good for powerpc and stable-worthy. Overall: Reviewed-by: Daniel Axtens <dja@axtens.net> Kind regards, Daniel > Fixes: 66f24fa766e3 ("mm: drop redundant ARCH_ENABLE_SPLIT_PMD_PTLOCK") > Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> > --- > arch/powerpc/platforms/Kconfig.cputype | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype > index 6794145603de..a208997ade88 100644 > --- a/arch/powerpc/platforms/Kconfig.cputype > +++ b/arch/powerpc/platforms/Kconfig.cputype > @@ -98,7 +98,7 @@ config PPC_BOOK3S_64 > select PPC_HAVE_PMU_SUPPORT > select HAVE_ARCH_TRANSPARENT_HUGEPAGE > select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION > - select ARCH_ENABLE_PMD_SPLIT_PTLOCK > + select ARCH_ENABLE_SPLIT_PMD_PTLOCK > select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE > select ARCH_SUPPORTS_HUGETLBFS > select ARCH_SUPPORTS_NUMA_BALANCING > -- > 2.26.2
Daniel Axtens <dja@axtens.net> writes: > Lukas Bulwahn <lukas.bulwahn@gmail.com> writes: > >> Commit 66f24fa766e3 ("mm: drop redundant ARCH_ENABLE_SPLIT_PMD_PTLOCK") >> selects the non-existing config ARCH_ENABLE_PMD_SPLIT_PTLOCK in >> ./arch/powerpc/platforms/Kconfig.cputype, but clearly it intends to select >> ARCH_ENABLE_SPLIT_PMD_PTLOCK here (notice the word swapping!), as this >> commit does select that for all other architectures. >> >> Rectify selection to ARCH_ENABLE_SPLIT_PMD_PTLOCK instead. >> > > Yikes, yes, 66f24fa766e3 does seem to have got that wrong. It looks like > that went into 5.13. > > I think we want to specifically target this for stable so that we don't > lose the perfomance and scalability benefits of split pmd ptlocks: > > Cc: stable@vger.kernel.org # v5.13+ > > (I don't think you need to do another revision for this, I think mpe > could add it when merging.) Yeah. I rewrote the change log a bit to make it clear this is a bug fix, not a harmless cleanup. cheers powerpc: Re-enable ARCH_ENABLE_SPLIT_PMD_PTLOCK Commit 66f24fa766e3 ("mm: drop redundant ARCH_ENABLE_SPLIT_PMD_PTLOCK") broke PMD split page table lock for powerpc. It selects the non-existent config ARCH_ENABLE_PMD_SPLIT_PTLOCK in arch/powerpc/platforms/Kconfig.cputype, but clearly intended to select ARCH_ENABLE_SPLIT_PMD_PTLOCK (notice the word swapping!), as that commit did for all other architectures. Fix it by selecting the correct symbol ARCH_ENABLE_SPLIT_PMD_PTLOCK. Fixes: 66f24fa766e3 ("mm: drop redundant ARCH_ENABLE_SPLIT_PMD_PTLOCK") Cc: stable@vger.kernel.org # v5.13+ Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> Reviewed-by: Daniel Axtens <dja@axtens.net> [mpe: Reword change log to make it clear this is a bug fix] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20210819113954.17515-3-lukas.bulwahn@gmail.com
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype index 6794145603de..a208997ade88 100644 --- a/arch/powerpc/platforms/Kconfig.cputype +++ b/arch/powerpc/platforms/Kconfig.cputype @@ -98,7 +98,7 @@ config PPC_BOOK3S_64 select PPC_HAVE_PMU_SUPPORT select HAVE_ARCH_TRANSPARENT_HUGEPAGE select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION - select ARCH_ENABLE_PMD_SPLIT_PTLOCK + select ARCH_ENABLE_SPLIT_PMD_PTLOCK select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE select ARCH_SUPPORTS_HUGETLBFS select ARCH_SUPPORTS_NUMA_BALANCING
Commit 66f24fa766e3 ("mm: drop redundant ARCH_ENABLE_SPLIT_PMD_PTLOCK") selects the non-existing config ARCH_ENABLE_PMD_SPLIT_PTLOCK in ./arch/powerpc/platforms/Kconfig.cputype, but clearly it intends to select ARCH_ENABLE_SPLIT_PMD_PTLOCK here (notice the word swapping!), as this commit does select that for all other architectures. Rectify selection to ARCH_ENABLE_SPLIT_PMD_PTLOCK instead. Fixes: 66f24fa766e3 ("mm: drop redundant ARCH_ENABLE_SPLIT_PMD_PTLOCK") Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> --- arch/powerpc/platforms/Kconfig.cputype | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)