[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20181211183101.GE14731@linux.intel.com>
Date: Tue, 11 Dec 2018 10:31:01 -0800
From: Sean Christopherson <sean.j.christopherson@...el.com>
To: Dave Hansen <dave.hansen@...el.com>
Cc: Josh Triplett <josh@...htriplett.org>, Pavel Machek <pavel@....cz>,
Jarkko Sakkinen <jarkko.sakkinen@...ux.intel.com>,
x86@...nel.org, platform-driver-x86@...r.kernel.org,
nhorman@...hat.com, npmccallum@...hat.com,
Alexei Starovoitov <ast@...nel.org>,
Andi Kleen <ak@...ux.intel.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Andy Lutomirski <luto@...nel.org>,
Borislav Petkov <bp@...e.de>,
"David S. Miller" <davem@...emloft.net>,
David Woodhouse <dwmw@...zon.co.uk>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"H. Peter Anvin" <hpa@...or.com>, Ingo Molnar <mingo@...nel.org>,
"open list:INTEL SGX" <intel-sgx-kernel-dev@...ts.01.org>,
Janakarajan Natarajan <Janakarajan.Natarajan@....com>,
"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
"open list:KERNEL VIRTUAL MACHINE FOR X86 (KVM/x86)"
<kvm@...r.kernel.org>, Len Brown <len.brown@...el.com>,
Linus Walleij <linus.walleij@...aro.org>,
"open list:CRYPTO API" <linux-crypto@...r.kernel.org>,
"open list:DOCUMENTATION" <linux-doc@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>,
"open list:SPARSE CHECKER" <linux-sparse@...r.kernel.org>,
Mauro Carvalho Chehab <mchehab+samsung@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
"Rafael J. Wysocki" <rafael.j.wysocki@...el.com>,
Randy Dunlap <rdunlap@...radead.org>,
Ricardo Neri <ricardo.neri-calderon@...ux.intel.com>,
Thomas Gleixner <tglx@...utronix.de>,
Tom Lendacky <thomas.lendacky@....com>,
Vikas Shivappa <vikas.shivappa@...ux.intel.com>
Subject: Re: [PATCH v11 00/13] Intel SGX1 support
On Tue, Dec 11, 2018 at 10:10:38AM -0800, Dave Hansen wrote:
> On 12/10/18 3:12 PM, Josh Triplett wrote:
> >> Or maybe even python/shell scripts? It looked to me like virtual
> >> memory will be "interesting" for enclaves.
> > Memory management doesn't seem that hard to deal with.
>
> The problems are:
>
> 1. SGX enclave memory (EPC) is statically allocated at boot and can't
> grow or shrink
> 2. EPC is much smaller than regular RAM
> 3. The core VM has no comprehension of EPC use, thus can not help
> with its algorithms, like the LRU
> 4. The SGX driver implements its own VM which is substantially simpler
> than the core VM, but less feature-rich, fast, or scalable
I'd also add:
5. Swapping EPC pages can only be done through SGX specific ISA that
has strict concurrency requirements and enforces TLB flushing.
6. There are specialized types of EPC pages that have different
swapping requirements than regular EPC pages.
7. EPC pages that are exposed to a KVM guest have yet another set of
swapping requirements.
In other words, extending the core VM to SGX EPC is painfully difficult.
Powered by blists - more mailing lists