Thiago Jung Bauermann <bauer...@linux.vnet.ibm.com> writes:
> Ram Pai <linux...@us.ibm.com> writes:
...
>> +
>> +    /* We got one, store it and use it from here on out */
>> +    if (need_to_set_mm_pkey)
>> +            mm->context.execute_only_pkey = execute_only_pkey;
>> +    return execute_only_pkey;
>> +}
>
> If you follow the code flow in __execute_only_pkey, the AMR and UAMOR
> are read 3 times in total, and AMR is written twice. IAMR is read and
> written twice. Since they are SPRs and access to them is slow (or isn't
> it?),

SPRs read/writes are slow, but they're not *that* slow in comparison to
a system call (which I think is where this code is being called?).

So we should try to avoid too many SPR read/writes, but at the same time
we can accept more than the minimum if it makes the code much easier to
follow.

cheers

Reply via email to