[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1590C6A2-CA65-4110-BD1C-DD9E24EE4394@nutanix.com>
Date: Tue, 11 May 2021 17:10:43 +0000
From: Jon Kohler <jon@...anix.com>
To: Paolo Bonzini <pbonzini@...hat.com>
CC: Dave Hansen <dave.hansen@...el.com>, Jon Kohler <jon@...anix.com>,
Babu Moger <babu.moger@....com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
"x86@...nel.org" <x86@...nel.org>,
"H. Peter Anvin" <hpa@...or.com>,
Sean Christopherson <seanjc@...gle.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
Wanpeng Li <wanpengli@...cent.com>,
Jim Mattson <jmattson@...gle.com>,
Joerg Roedel <joro@...tes.org>,
Yu-cheng Yu <yu-cheng.yu@...el.com>,
Fenghua Yu <fenghua.yu@...el.com>,
Tony Luck <tony.luck@...el.com>,
Petteri Aimonen <jpa@....mail.kapsi.fi>,
Kan Liang <kan.liang@...ux.intel.com>,
Uros Bizjak <ubizjak@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Mike Rapoport <rppt@...nel.org>,
Benjamin Thiel <b.thiel@...teo.de>,
Anshuman Khandual <anshuman.khandual@....com>,
Juergen Gross <jgross@...e.com>,
Fan Yang <Fan_Yang@...u.edu.cn>,
Dave Jiang <dave.jiang@...el.com>,
"Peter Zijlstra (Intel)" <peterz@...radead.org>,
Ricardo Neri <ricardo.neri-calderon@...ux.intel.com>,
Arvind Sankar <nivedita@...m.mit.edu>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>
Subject: Re: [PATCH v2] KVM: x86: use wrpkru directly in
kvm_load_{guest|host}_xsave_state
> On May 11, 2021, at 1:08 PM, Paolo Bonzini <pbonzini@...hat.com> wrote:
>
> On 11/05/21 18:45, Dave Hansen 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().
>
> Yeah, you should move it from __write_pkru() to write_pkru() but not remove it completely.
>
> Paolo
Thanks, Paolo. Just sent out a v3 with that fix up included, so all of
the previous callers should be at par and not notice any differences
Powered by blists - more mailing lists