lkml.org 
[lkml]   [2023]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v5 11/18] x86/sgx: store unreclaimable pages in LRU lists
Date
On Tue, 2023-10-03 at 00:15 -0500, Haitao Huang wrote:
> On Thu, 28 Sep 2023 04:41:33 -0500, Huang, Kai <kai.huang@intel.com> wrote:
>
> >
> > > --- a/arch/x86/kernel/cpu/sgx/encl.c
> > > +++ b/arch/x86/kernel/cpu/sgx/encl.c
> > > @@ -746,6 +746,7 @@ void sgx_encl_release(struct kref *ref)
> > > xa_destroy(&encl->page_array);
> > >
> > > if (!encl->secs_child_cnt && encl->secs.epc_page) {
> > > + sgx_drop_epc_page(encl->secs.epc_page);
> > > sgx_encl_free_epc_page(encl->secs.epc_page);
> > > encl->secs.epc_page = NULL;
> > > }
> >
> > The "record" of SECS/VA pages should be done together with this. I see
> > no
> > reason why the "record" and "drop" are separated into different patches.
>
> "record" of SECS/VA pages are done in this patch. Before nothing done in
> "record" for them because no tracking LRU lists for them. Now they are
> tracked.
>
>

I was talking about calling sgx_record_epc_page() for SECS/VA:

@@ -113,6 +113,9 @@ static int sgx_encl_create(struct sgx_encl *encl, struct
sgx_secs *secs)
encl->attributes = secs->attributes;
encl->attributes_mask = SGX_ATTR_UNPRIV_MASK;

+ sgx_record_epc_page(encl->secs.epc_page,
+ SGX_EPC_PAGE_UNRECLAIMABLE);

This piece of code *literally* does the record.



\
 
 \ /
  Last update: 2023-10-03 22:14    [W:0.428 / U:0.192 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site