On Mon, Mar 15, 2021 at 08:32:13AM -0700, Dave Hansen wrote: > On 3/13/21 8:01 AM, Jarkko Sakkinen wrote: > > Replace the ad-hoc code with a sgx_free_epc_page(), in order to make sure > > that all the relevant checks and book keeping is done, while freeing a > > borrowed EPC page, and remove redundant code. EREMOVE inside > > sgx_free_epc_page() does not change the semantics, as EREMOVE to an > > uninitialize pages is a nop. > > ^ uninitialized > > I know this is a short patch, but this changelog still falls a bit short > for me. > > Why is this patch a part of _this_ series? What *problem* does it > solve, related to this series? I'm thinking of merging sgx_epc_section and sgx_numa_node. That's why I kept it as part of the series. Also, in any case it's better to clean up duplicate functionality. The code is essentially open coded implementation of sgx_free_epc_page() without EREMOVE. > It would also be nice to remind me why the EREMOVE is redundant. Why > didn't we need one before? What put the page in the uninitialized > state? Is EREMOVE guaranteed to do nothing? How expensive is it? EREMOVE gets removed by KVM series from sgx_free_epc_page() anyway. Maybe should re-send this patch, or series, after KVM series is merged. Then there is no explaining with EREMOVE, as sgx_free_epc_page() won't contain it. /Jarkko