OSDN Git Service

powerpc/64s/interrupt: avoid saving CFAR in some asynchronous interrupts
authorNicholas Piggin <npiggin@gmail.com>
Wed, 22 Sep 2021 14:54:52 +0000 (00:54 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 16 Dec 2021 10:31:45 +0000 (21:31 +1100)
commitaf47d79b041deccc31e0dddc6310a654c13d04b6
tree7ddf83dfd83571676671880e88ea29ecdd8f6bc1
parentecb1057c0f9a0f3f052294de6cc2eb43ecf7547b
powerpc/64s/interrupt: avoid saving CFAR in some asynchronous interrupts

Reading the CFAR register is quite costly (~20 cycles on POWER9). It is
a good idea to have for most synchronous interrupts, but for async ones
it is much less important.

Doorbell, external, and decrementer interrupts are the important
asynchronous ones. HV interrupts can't skip CFAR if KVM HV is possible,
because it might be a guest exit that requires CFAR preserved. But the
important pseries interrupts can avoid loading CFAR.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210922145452.352571-7-npiggin@gmail.com
arch/powerpc/kernel/exceptions-64s.S