Re: [PATCH v13 09/13] x86/sgx: Enclave Page Cache (EPC) memory manager

From: Dave Hansen
Date: Tue Aug 28 2018 - 10:07:39 EST


On 08/28/2018 01:35 AM, Jarkko Sakkinen wrote:
> On Mon, Aug 27, 2018 at 02:15:34PM -0700, Dave Hansen wrote:
>> On 08/27/2018 11:53 AM, Jarkko Sakkinen wrote:
>>> +struct sgx_epc_page_ops {
>>> + bool (*get)(struct sgx_epc_page *epc_page);
>>> + void (*put)(struct sgx_epc_page *epc_page);
>>> + bool (*reclaim)(struct sgx_epc_page *epc_page);
>>> + void (*block)(struct sgx_epc_page *epc_page);
>>> + void (*write)(struct sgx_epc_page *epc_page);
>>> +};
>> Why do we need a fancy, slow (retpoline'd) set of function pointers when
>> we only have one user of these (the SGX driver)?
> KVM has its own implementation for these operations.

That belongs in the changelog.

Also, where is the implementation? How can we assess this code that was
built to create an abstraction without both of the users?