tree c4fa86a746481b12cb6a23dfb407fb0638cead59
parent 6ef4fb387d50fa8f3bffdffc868b57e981cdd709
author Mark Rutland <mark.rutland@arm.com> 1483468021 +0000
committer Catalin Marinas <catalin.marinas@arm.com> 1483547178 +0000

arm64: restore get_current() optimisation

Commit c02433dd6de32f04 ("arm64: split thread_info from task stack")
inverted the relationship between get_current() and
current_thread_info(), with sp_el0 now holding the current task_struct
rather than the current thead_info. The new implementation of
get_current() prevents the compiler from being able to optimize repeated
calls to either, resulting in a noticeable penalty in some
microbenchmarks.

This patch restores the previous optimisation by implementing
get_current() in the same way as our old current_thread_info(), using a
non-volatile asm statement.

Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reported-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
