[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180906184503.GA4570@linux.intel.com>
Date: Thu, 6 Sep 2018 11:45:03 -0700
From: Sean Christopherson <sean.j.christopherson@...el.com>
To: Borislav Petkov <bp@...e.de>
Cc: Brijesh Singh <brijesh.singh@....com>, x86@...nel.org,
linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
Tom Lendacky <thomas.lendacky@....com>,
Thomas Gleixner <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>,
Paolo Bonzini <pbonzini@...hat.com>,
Radim Krčmář <rkrcmar@...hat.com>
Subject: Re: [PATCH v5 5/5] x86/kvm: Avoid dynamic allocation of pvclock data
when SEV is active
On Thu, Sep 06, 2018 at 08:33:34PM +0200, Borislav Petkov wrote:
> On Thu, Sep 06, 2018 at 08:54:52AM -0700, Sean Christopherson wrote:
> > My thought was that we could simply define a second array for the SEV
> > case to statically allocate for NR_CPUS since __decrypted has a big
> > chunk of memory that would be ununsed anyways[1]. And since the second
> > array is only used for SEV it can be freed if !SEV.
>
> Lemme see if I get it straight:
>
> __decrypted:
>
> 4K
>
> __decrypted_XXX:
>
> ((num_possible_cpus() * 32) / 4K) pages
>
> __decrypted_end:
>
> Am I close?
Yep, though because the 4k chunk in __decrypted is @hv_clock_boot
that's used for cpus 0-127, __decrypted_XXX would effectively be:
(((num_possible_cpus() * 32) / 4k) - 1) pages
Powered by blists - more mailing lists