Re: [RFC v2 10/12] powerpc: Read AMR only if pkey-violation caused the exception.

From: Anshuman Khandual
Date: Tue Jun 20 2017 - 02:47:43 EST


On 06/19/2017 11:29 PM, Ram Pai wrote:
> On Mon, Jun 19, 2017 at 09:06:13PM +1000, Michael Ellerman wrote:
>> Ram Pai <linuxram@xxxxxxxxxx> writes:
>>
>>> Signed-off-by: Ram Pai <linuxram@xxxxxxxxxx>
>>> ---
>>> arch/powerpc/kernel/exceptions-64s.S | 16 ++++++++++------
>>> 1 file changed, 10 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
>>> index 8db9ef8..a4de1b4 100644
>>> --- a/arch/powerpc/kernel/exceptions-64s.S
>>> +++ b/arch/powerpc/kernel/exceptions-64s.S
>>> @@ -493,13 +493,15 @@ EXC_COMMON_BEGIN(data_access_common)
>>> ld r12,_MSR(r1)
>>> ld r3,PACA_EXGEN+EX_DAR(r13)
>>> lwz r4,PACA_EXGEN+EX_DSISR(r13)
>>> + std r3,_DAR(r1)
>>> + std r4,_DSISR(r1)
>>> #ifdef CONFIG_PPC64_MEMORY_PROTECTION_KEYS
>>> + andis. r0,r4,DSISR_KEYFAULT@h /* save AMR only if its a key fault */
>>> + beq+ 1f
>>
>> This seems to be incremental on top of one of your other patches.
>>
>> But I don't see why, can you please just squash this into whatever patch
>> adds this code in the first place.
>
> It was an optimization added later. But yes it can be squashed into an
> earlier patch.

Could you please explain what is the optimization this achieves ?