[Bug 216183] [bisected] Kernel 5.19-rc4 boots ok with CONFIG_PPC_RADIX_MMU=y but fails to boot with CONFIG_PPC_HASH_MMU_NATIVE=y
From: bugzilla-daemon@kernel.org
Date: 2022-07-14 12:58:09
https://bugzilla.kernel.org/show_bug.cgi?id=216183
--- Comment #8 from Erhard F. (erhard_f@mailbox.org) ---Created attachment 301425 --> https://bugzilla.kernel.org/attachment.cgi?id=301425&action=edit bisect.log Successfully did a bisect which revealed this commit: # git bisect good a008f8f9fd67ffb13d906ef4ea6235a3d62dfdb6 is the first bad commit commit a008f8f9fd67ffb13d906ef4ea6235a3d62dfdb6 Author: Nicholas Piggin [off-list ref] Date: Sat Jan 30 23:08:41 2021 +1000 powerpc/64s/hash: improve context tracking of hash faults This moves the 64s/hash context tracking from hash_page_mm() to __do_hash_fault(), so it's no longer called by OCXL / SPU accelerators, which was certainly the wrong thing to be doing, because those callers are not low level interrupt handlers, so should have entered a kernel context tracking already. Then remain in kernel context for the duration of the fault, rather than enter/exit for the hash fault then enter/exit for the page fault, which is pointless. Even still, calling exception_enter/exit in __do_hash_fault seems questionable because that's touching per-cpu variables, tracing, etc., which might have been interrupted by this hash fault or themselves cause hash faults. But maybe I miss something because hash_page_mm very deliberately calls trace_hash_fault too, for example. So for now go with it, it's no worse than before, in this regard. Signed-off-by: Nicholas Piggin [off-list ref] Signed-off-by: Michael Ellerman [off-list ref] Link: https://lore.kernel.org/r/20210130130852.2952424-32-npiggin@gmail.com (local) arch/powerpc/include/asm/bug.h | 1 + arch/powerpc/mm/book3s64/hash_utils.c | 7 ++++--- arch/powerpc/mm/fault.c | 39 +++++++++++++++++++++++++---------- 3 files changed, 33 insertions(+), 14 deletions(-) -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.