From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> To: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@kernel.org>, Platform Driver <platform-driver-x86@vger.kernel.org>, Dave Hansen <dave.hansen@intel.com>, sean.j.christopherson@intel.com, nhorman@redhat.com, npmccallum@redhat.com, linux-sgx@vger.kernel.org, serge.ayoun@intel.com, Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>, suresh.b.siddha@intel.com, Linux Kernel Mailing List <linux-kernel@vger.kernel.org> Subject: Re: [PATCH v13 07/13] x86/sgx: Add data structures for tracking the EPC pages Date: Tue, 4 Sep 2018 12:59:23 +0300 [thread overview] Message-ID: <20180904095923.GC5423@linux.intel.com> (raw) In-Reply-To: <CAHp75VcjKkJR4_H-acbVm3BwA4tVR8gUtkg9STqOK2UG20Tvgg@mail.gmail.com> On Mon, Sep 03, 2018 at 05:41:53PM +0300, Andy Shevchenko wrote: > On Mon, Aug 27, 2018 at 9:58 PM Jarkko Sakkinen > <jarkko.sakkinen@linux.intel.com> wrote: > > > > Add data structures to track Enclave Page Cache (EPC) pages. EPC is > > divided into multiple banks (1-N) of which addresses and sizes can be > > enumerated with CPUID by the OS. > > > > On NUMA systems a node can have at most bank. A bank can be at most part of > > two nodes. SGX supports both nodes with a single memory controller and also > > sub-cluster nodes with severals memory controllers on a single die. > > > -#include <asm/sgx.h> > > -#include <asm/sgx_pr.h> > > #include <linux/freezer.h> > > #include <linux/highmem.h> > > #include <linux/kthread.h> > > +#include <linux/pagemap.h> > > #include <linux/ratelimit.h> > > #include <linux/sched/signal.h> > > +#include <linux/shmem_fs.h> > > #include <linux/slab.h> > > +#include <asm/sgx.h> > > +#include <asm/sgx_pr.h> > > Squash issues? Yes :-/ > > + va = ioremap_cache(addr, size); > > + if (!va) > > + return -ENOMEM; > > I'm not sure this is a right API. Do we operate with memory? Does it > have I/O side effects? > If no, memremap() would be better to use. Had this idea a long time ago but had forgotten it. EPC is from caching perspective like regular memory. > -- > With Best Regards, > Andy Shevchenko > /Jarkko
WARNING: multiple messages have this Message-ID (diff)
From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> To: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" <x86@kernel.org>, Platform Driver <platform-driver-x86@vger.kernel.org>, Dave Hansen <dave.hansen@intel.com>, <sean.j.christopherson@intel.com>, <nhorman@redhat.com>, <npmccallum@redhat.com>, <linux-sgx@vger.kernel.org>, <serge.ayoun@intel.com>, Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>, <suresh.b.siddha@intel.com>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org> Subject: Re: [PATCH v13 07/13] x86/sgx: Add data structures for tracking the EPC pages Date: Tue, 4 Sep 2018 12:59:23 +0300 [thread overview] Message-ID: <20180904095923.GC5423@linux.intel.com> (raw) In-Reply-To: <CAHp75VcjKkJR4_H-acbVm3BwA4tVR8gUtkg9STqOK2UG20Tvgg@mail.gmail.com> On Mon, Sep 03, 2018 at 05:41:53PM +0300, Andy Shevchenko wrote: > On Mon, Aug 27, 2018 at 9:58 PM Jarkko Sakkinen > <jarkko.sakkinen@linux.intel.com> wrote: > > > > Add data structures to track Enclave Page Cache (EPC) pages. EPC is > > divided into multiple banks (1-N) of which addresses and sizes can be > > enumerated with CPUID by the OS. > > > > On NUMA systems a node can have at most bank. A bank can be at most part of > > two nodes. SGX supports both nodes with a single memory controller and also > > sub-cluster nodes with severals memory controllers on a single die. > > > -#include <asm/sgx.h> > > -#include <asm/sgx_pr.h> > > #include <linux/freezer.h> > > #include <linux/highmem.h> > > #include <linux/kthread.h> > > +#include <linux/pagemap.h> > > #include <linux/ratelimit.h> > > #include <linux/sched/signal.h> > > +#include <linux/shmem_fs.h> > > #include <linux/slab.h> > > +#include <asm/sgx.h> > > +#include <asm/sgx_pr.h> > > Squash issues? Yes :-/ > > + va = ioremap_cache(addr, size); > > + if (!va) > > + return -ENOMEM; > > I'm not sure this is a right API. Do we operate with memory? Does it > have I/O side effects? > If no, memremap() would be better to use. Had this idea a long time ago but had forgotten it. EPC is from caching perspective like regular memory. > -- > With Best Regards, > Andy Shevchenko > /Jarkko
next prev parent reply other threads:[~2018-09-04 9:59 UTC|newest] Thread overview: 259+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-08-27 18:53 [PATCH v13 00/13] Intel SGX1 support Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` [PATCH v13 01/13] x86/sgx: Update MAINTAINERS Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-09-03 12:56 ` Andy Shevchenko 2018-09-03 12:56 ` Andy Shevchenko 2018-09-03 19:10 ` Jarkko Sakkinen 2018-09-03 19:10 ` Jarkko Sakkinen 2018-08-27 18:53 ` [PATCH v13 02/13] x86/cpufeature: Add SGX and SGX_LC CPU features Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-28 0:07 ` Huang, Kai 2018-08-28 0:07 ` Huang, Kai 2018-08-28 0:07 ` Huang, Kai 2018-08-28 7:17 ` Jarkko Sakkinen 2018-08-28 7:17 ` Jarkko Sakkinen 2018-08-29 7:36 ` Huang, Kai 2018-08-29 7:36 ` Huang, Kai 2018-08-29 7:36 ` Huang, Kai 2018-08-31 12:19 ` Jarkko Sakkinen 2018-08-31 12:19 ` Jarkko Sakkinen 2018-08-31 12:19 ` Jarkko Sakkinen 2018-08-31 16:18 ` Dr. Greg 2018-08-31 16:18 ` Dr. Greg 2018-08-31 16:18 ` Dr. Greg 2018-08-27 18:53 ` [PATCH v13 03/13] x86/cpufeatures: Add Intel-defined SGX leaf CPUID_12_EAX Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 19:39 ` Dave Hansen 2018-08-27 19:39 ` Dave Hansen 2018-08-27 19:39 ` Dave Hansen 2018-08-27 19:39 ` Dave Hansen 2018-08-28 7:23 ` Jarkko Sakkinen 2018-08-28 7:23 ` Jarkko Sakkinen 2018-08-28 10:21 ` Borislav Petkov 2018-08-28 10:21 ` Borislav Petkov 2018-08-28 10:38 ` Jarkko Sakkinen 2018-08-28 10:38 ` Jarkko Sakkinen 2018-08-28 10:38 ` Jarkko Sakkinen 2018-08-27 18:53 ` [PATCH v13 04/13] x86/sgx: Architectural structures Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 19:41 ` Dave Hansen 2018-08-27 19:41 ` Dave Hansen 2018-08-27 19:41 ` Dave Hansen 2018-08-28 8:08 ` Jarkko Sakkinen 2018-08-28 8:08 ` Jarkko Sakkinen 2018-08-28 8:08 ` Jarkko Sakkinen 2018-09-03 13:16 ` Andy Shevchenko 2018-09-03 13:16 ` Andy Shevchenko 2018-09-03 19:17 ` Jarkko Sakkinen 2018-09-03 19:17 ` Jarkko Sakkinen 2018-09-04 16:04 ` Dave Hansen 2018-09-04 16:04 ` Dave Hansen 2018-09-04 16:06 ` Andy Shevchenko 2018-09-04 16:06 ` Andy Shevchenko 2018-09-05 17:32 ` Jarkko Sakkinen 2018-09-05 17:32 ` Jarkko Sakkinen 2018-08-27 18:53 ` [PATCH v13 05/13] x86/msr: Add SGX definitions to msr-index.h Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 19:42 ` Dave Hansen 2018-08-27 19:42 ` Dave Hansen 2018-08-27 19:42 ` Dave Hansen 2018-08-28 8:11 ` Jarkko Sakkinen 2018-08-28 8:11 ` Jarkko Sakkinen 2018-08-28 8:11 ` Jarkko Sakkinen 2018-08-27 18:53 ` [PATCH v13 06/13] x86/sgx: Detect Intel SGX Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 19:53 ` Dave Hansen 2018-08-27 19:53 ` Dave Hansen 2018-08-27 19:53 ` Dave Hansen 2018-08-28 8:28 ` Jarkko Sakkinen 2018-08-28 8:28 ` Jarkko Sakkinen 2018-08-28 8:28 ` Jarkko Sakkinen 2018-09-03 14:26 ` Andy Shevchenko 2018-09-03 14:26 ` Andy Shevchenko 2018-09-04 9:56 ` Jarkko Sakkinen 2018-09-04 9:56 ` Jarkko Sakkinen 2018-08-27 18:53 ` [PATCH v13 07/13] x86/sgx: Add data structures for tracking the EPC pages Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 21:07 ` Dave Hansen 2018-08-27 21:07 ` Dave Hansen 2018-08-27 21:07 ` Dave Hansen 2018-08-28 10:30 ` Jarkko Sakkinen 2018-08-28 10:30 ` Jarkko Sakkinen 2018-08-28 10:30 ` Jarkko Sakkinen 2018-08-28 16:53 ` Dave Hansen 2018-08-28 16:53 ` Dave Hansen 2018-08-28 16:53 ` Dave Hansen 2018-08-28 21:34 ` Sean Christopherson 2018-08-28 21:34 ` Sean Christopherson 2018-08-28 21:34 ` Sean Christopherson 2018-08-31 11:13 ` Jarkko Sakkinen 2018-08-31 11:13 ` Jarkko Sakkinen 2018-08-31 11:13 ` Jarkko Sakkinen 2018-08-31 11:10 ` Jarkko Sakkinen 2018-08-31 11:10 ` Jarkko Sakkinen 2018-08-31 11:10 ` Jarkko Sakkinen 2018-09-03 14:41 ` Andy Shevchenko 2018-09-03 14:41 ` Andy Shevchenko 2018-09-04 9:59 ` Jarkko Sakkinen [this message] 2018-09-04 9:59 ` Jarkko Sakkinen 2018-09-04 17:49 ` Sean Christopherson 2018-09-04 17:49 ` Sean Christopherson 2018-09-04 18:01 ` Andy Shevchenko 2018-09-04 18:01 ` Andy Shevchenko 2018-09-04 18:17 ` Sean Christopherson 2018-09-04 18:17 ` Sean Christopherson 2018-09-05 17:36 ` Jarkko Sakkinen 2018-09-05 17:36 ` Jarkko Sakkinen 2018-08-27 18:53 ` [PATCH v13 08/13] x86/sgx: Add wrappers for ENCLS leaf functions Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-09-03 15:01 ` Andy Shevchenko 2018-09-03 15:01 ` Andy Shevchenko 2018-09-04 11:09 ` Jarkko Sakkinen 2018-09-04 11:09 ` Jarkko Sakkinen 2018-08-27 18:53 ` [PATCH v13 09/13] x86/sgx: Enclave Page Cache (EPC) memory manager Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 21:14 ` Dave Hansen 2018-08-27 21:14 ` Dave Hansen 2018-08-27 21:14 ` Dave Hansen 2018-08-28 8:36 ` Jarkko Sakkinen 2018-08-28 8:36 ` Jarkko Sakkinen 2018-08-28 8:36 ` Jarkko Sakkinen 2018-08-27 21:15 ` Dave Hansen 2018-08-27 21:15 ` Dave Hansen 2018-08-27 21:15 ` Dave Hansen 2018-08-28 8:35 ` Jarkko Sakkinen 2018-08-28 8:35 ` Jarkko Sakkinen 2018-08-28 8:35 ` Jarkko Sakkinen 2018-08-28 14:07 ` Dave Hansen 2018-08-28 14:07 ` Dave Hansen 2018-08-28 14:07 ` Dave Hansen 2018-08-28 21:22 ` Sean Christopherson 2018-08-28 21:22 ` Sean Christopherson 2018-08-28 21:22 ` Sean Christopherson 2018-08-28 21:26 ` Dave Hansen 2018-08-28 21:26 ` Dave Hansen 2018-08-28 21:26 ` Dave Hansen 2018-08-28 21:52 ` Sean Christopherson 2018-08-28 21:52 ` Sean Christopherson 2018-08-28 21:52 ` Sean Christopherson 2018-08-31 11:22 ` Jarkko Sakkinen 2018-08-31 11:22 ` Jarkko Sakkinen 2018-08-31 11:22 ` Jarkko Sakkinen 2018-09-03 19:02 ` Andy Shevchenko 2018-09-03 19:02 ` Andy Shevchenko 2018-09-04 15:38 ` Jarkko Sakkinen 2018-09-04 15:38 ` Jarkko Sakkinen 2018-09-04 15:45 ` Sean Christopherson 2018-09-04 15:45 ` Sean Christopherson 2018-09-11 15:04 ` Sean Christopherson 2018-09-11 15:04 ` Sean Christopherson 2018-09-11 15:04 ` Sean Christopherson 2018-09-16 11:40 ` Jarkko Sakkinen 2018-09-16 11:40 ` Jarkko Sakkinen 2018-09-16 11:40 ` Jarkko Sakkinen 2018-08-27 18:53 ` [PATCH v13 10/13] x86/sgx: Add sgx_einit() for initializing enclaves Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 21:41 ` Huang, Kai 2018-08-27 21:41 ` Huang, Kai 2018-08-27 21:41 ` Huang, Kai 2018-08-28 7:01 ` Jarkko Sakkinen 2018-08-28 7:01 ` Jarkko Sakkinen 2018-08-29 7:33 ` Huang, Kai 2018-08-29 7:33 ` Huang, Kai 2018-08-29 7:33 ` Huang, Kai 2018-08-29 20:33 ` Sean Christopherson 2018-08-29 20:33 ` Sean Christopherson 2018-08-29 20:58 ` Huang, Kai 2018-08-29 20:58 ` Huang, Kai 2018-08-29 20:58 ` Huang, Kai 2018-08-29 21:09 ` Sean Christopherson 2018-08-29 21:09 ` Sean Christopherson 2018-08-30 1:45 ` Huang, Kai 2018-08-30 1:45 ` Huang, Kai 2018-08-30 1:45 ` Huang, Kai 2018-08-31 17:43 ` Sean Christopherson 2018-08-31 17:43 ` Sean Christopherson 2018-08-31 21:34 ` Dr. Greg 2018-08-31 21:34 ` Dr. Greg 2018-08-31 21:34 ` Dr. Greg 2018-09-03 19:27 ` Jarkko Sakkinen 2018-09-03 19:27 ` Jarkko Sakkinen 2018-09-03 18:15 ` Jarkko Sakkinen 2018-09-03 18:15 ` Jarkko Sakkinen 2018-08-31 12:17 ` Jarkko Sakkinen 2018-08-31 12:17 ` Jarkko Sakkinen 2018-08-31 18:15 ` Sean Christopherson 2018-08-31 18:15 ` Sean Christopherson 2018-09-03 19:19 ` Jarkko Sakkinen 2018-09-03 19:19 ` Jarkko Sakkinen 2018-09-03 23:45 ` Huang, Kai 2018-09-03 23:45 ` Huang, Kai 2018-09-03 23:45 ` Huang, Kai 2018-09-04 14:54 ` Sean Christopherson 2018-09-04 14:54 ` Sean Christopherson 2018-09-04 15:30 ` Jarkko Sakkinen 2018-09-04 15:30 ` Jarkko Sakkinen 2018-09-04 16:35 ` Sean Christopherson 2018-09-04 16:35 ` Sean Christopherson 2018-09-04 22:13 ` Huang, Kai 2018-09-04 22:13 ` Huang, Kai 2018-09-04 22:13 ` Huang, Kai 2018-09-05 17:39 ` Jarkko Sakkinen 2018-09-05 17:39 ` Jarkko Sakkinen 2018-09-04 15:26 ` Jarkko Sakkinen 2018-09-04 15:26 ` Jarkko Sakkinen 2018-09-03 13:53 ` Jann Horn 2018-09-03 13:53 ` Jann Horn 2018-09-04 9:55 ` Jarkko Sakkinen 2018-09-04 9:55 ` Jarkko Sakkinen 2018-09-04 16:05 ` Andy Shevchenko 2018-09-04 16:05 ` Andy Shevchenko 2018-08-27 18:53 ` [PATCH v13 11/13] platform/x86: Intel SGX driver Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-09-04 17:59 ` Andy Shevchenko 2018-09-04 17:59 ` Andy Shevchenko 2018-09-05 17:33 ` Jarkko Sakkinen 2018-09-05 17:33 ` Jarkko Sakkinen 2018-09-05 17:36 ` Andy Shevchenko 2018-09-05 17:36 ` Andy Shevchenko 2018-09-06 9:21 ` Jarkko Sakkinen 2018-09-06 9:21 ` Jarkko Sakkinen 2018-09-06 17:35 ` Miguel Ojeda 2018-09-06 17:35 ` Miguel Ojeda 2018-09-07 0:50 ` Joe Perches 2018-09-07 0:50 ` Joe Perches 2018-09-07 17:02 ` Sean Christopherson 2018-09-07 17:02 ` Sean Christopherson 2018-09-07 17:02 ` Sean Christopherson 2018-09-10 18:37 ` Jarkko Sakkinen 2018-09-10 18:37 ` Jarkko Sakkinen 2018-09-10 21:22 ` Joe Perches 2018-09-10 21:22 ` Joe Perches 2018-09-10 18:33 ` Jarkko Sakkinen 2018-09-10 18:33 ` Jarkko Sakkinen 2018-08-27 18:53 ` [PATCH v13 12/13] platform/x86: ptrace() support for the " Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` [PATCH v13 13/13] x86/sgx: Driver documentation Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 18:53 ` Jarkko Sakkinen 2018-08-27 19:40 ` Randy Dunlap 2018-08-27 19:40 ` Randy Dunlap 2018-08-28 7:58 ` Jarkko Sakkinen 2018-08-28 7:58 ` Jarkko Sakkinen 2018-08-28 8:03 ` Jarkko Sakkinen 2018-08-28 8:03 ` Jarkko Sakkinen
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20180904095923.GC5423@linux.intel.com \ --to=jarkko.sakkinen@linux.intel.com \ --cc=andy.shevchenko@gmail.com \ --cc=dave.hansen@intel.com \ --cc=hpa@zytor.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-sgx@vger.kernel.org \ --cc=mingo@redhat.com \ --cc=nhorman@redhat.com \ --cc=npmccallum@redhat.com \ --cc=platform-driver-x86@vger.kernel.org \ --cc=sean.j.christopherson@intel.com \ --cc=serge.ayoun@intel.com \ --cc=suresh.b.siddha@intel.com \ --cc=tglx@linutronix.de \ --cc=x86@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.