> On May 11, 2021, at 12:45 PM, Dave Hansen <dave.hansen@xxxxxxxxx> wrote: > > On 5/11/21 8:59 AM, Jon Kohler wrote: >> diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h >> index b1099f2d9800..20f1fb8be7ef 100644 >> --- a/arch/x86/include/asm/pgtable.h >> +++ b/arch/x86/include/asm/pgtable.h >> @@ -151,7 +151,7 @@ static inline void write_pkru(u32 pkru) >> fpregs_lock(); >> if (pk) >> pk->pkru = pkru; >> - __write_pkru(pkru); >> + wrpkru(pkru); >> fpregs_unlock(); >> } > > This removes the: > > if (pkru == rdpkru()) > return; > > optimization from a couple of write_pkru() users: > arch_set_user_pkey_access() and copy_init_pkru_to_fpregs(). > > Was that intentional? Those aren't the hottest paths in the kernel, but > copy_init_pkru_to_fpregs() is used in signal handling and exeve(). That wasn’t intentional, I’ll take a look and send out a v3 pronto. Thanks, Dave