Thiago Jung Bauermann <bauerman@xxxxxxxxxxxxxxxxxx> writes: > Ram Pai <linuxram@xxxxxxxxxx> 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