Thread (10 messages) 10 messages, 4 authors, 2026-01-08

Re: [PATCH v2] arm64: Disable branch profiling for all arm64 code

From: Mark Rutland <mark.rutland@arm.com>
Date: 2026-01-06 12:24:19
Also in: linux-arm-kernel, lkml, stable

On Tue, Jan 06, 2026 at 12:21:47PM +0000, Mark Rutland wrote:
On Tue, Jan 06, 2026 at 02:16:35AM -0800, Breno Leitao wrote:
quoted
The arm64 kernel doesn't boot with annotated branches
(PROFILE_ANNOTATED_BRANCHES) enabled and CONFIG_DEBUG_VIRTUAL together.

Bisecting it, I found that disabling branch profiling in arch/arm64/mm
solved the problem. Narrowing down a bit further, I found that
physaddr.c is the file that needs to have branch profiling disabled to
get the machine to boot.

I suspect that it might invoke some ftrace helper very early in the boot
process and ftrace is still not enabled(!?).

Rather than playing whack-a-mole with individual files, disable branch
profiling for the entire arch/arm64 tree, similar to what x86 already
does in arch/x86/Kbuild.

Cc: stable@vger.kernel.org
Fixes: ec6d06efb0bac ("arm64: Add support for CONFIG_DEBUG_VIRTUAL")
Signed-off-by: Breno Leitao <leitao@debian.org>
I don't think ec6d06efb0bac is to blame here, and CONFIG_DEBUG_VIRTUAL
is unsound in a number of places, so I'd prefer to remove that Fixes tag
and backport this for all stable trees.

Regardless, I'm in favour of disabling CONFIG_DEBUG_VIRTUAL widely, so:

Acked-by: Mark Rutland <mark.rutland@arm.com>
Whoops; s/CONFIG_DEBUG_VIRTUAL/PROFILE_ANNOTATED_BRANCHES/ in both
places in my reply.

Mark.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help