]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: scs: Store absolute SCS stack pointer value in thread_info
authorWill Deacon <will@kernel.org>
Fri, 15 May 2020 13:11:05 +0000 (14:11 +0100)
committerWill Deacon <will@kernel.org>
Mon, 18 May 2020 16:47:22 +0000 (17:47 +0100)
commitb0ead750ed342d404ea29266a86a1a6b9abfa280
treec06448db0ce33c2d4a5ae1494806a3b81082aa96
parenta4a40366369adcc3039a0bddbcf45c3e8026f76d
arm64: scs: Store absolute SCS stack pointer value in thread_info

Storing the SCS information in thread_info as a {base,offset} pair
introduces an additional load instruction on the ret-to-user path,
since the SCS stack pointer in x18 has to be converted back to an offset
by subtracting the base.

Replace the offset with the absolute SCS stack pointer value instead
and avoid the redundant load.

Tested-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/include/asm/scs.h
arch/arm64/include/asm/thread_info.h
arch/arm64/kernel/asm-offsets.c
include/linux/scs.h
kernel/scs.c