Hi Jarkko, On 4/5/2022 11:35 PM, Jarkko Sakkinen wrote: > On Tue, 2022-04-05 at 10:25 -0700, Dave Hansen wrote: >> On 4/5/22 10:13, Reinette Chatre wrote: >>>>> +void sgx_direct_reclaim(void) >>>>> +{ >>>>> + if (sgx_should_reclaim(SGX_NR_LOW_PAGES)) >>>>> + sgx_reclaim_pages(); >>>>> +} >>>> Please, instead open code this to both locations - not enough redundancy >>>> to be worth of new function. Causes only unnecessary cross-referencing >>>> when maintaining. Otherwise, I agree with the idea. >>>> >>> hmmm, that means the heart of the reclaimer (sgx_reclaim_pages()) would be >>> made available for direct use from everywhere in the driver. I will look into this. >> >> I like the change. It's not about reducing code redundancy, it's about >> *describing* what the code does. Each location could have: >> >> /* Enter direct SGX reclaim: */ >> if (sgx_should_reclaim(SGX_NR_LOW_PAGES)) >> sgx_reclaim_pages(); >> >> Or, it could just be: >> >> sgx_direct_reclaim(); >> >> Which also provides a logical choke point to add comments, like: >> >> /* >> * sgx_direct_reclaim() should be called in locations where SGX >> * memory resources might be low and might be needed in order >> * to make forward progress. >> */ >> void sgx_direct_reclaim(void) >> { >> ... > > Maybe cutting hairs but could it be "sgx_reclaim_direct"? Rationale > is easier grepping of reclaimer functions, e.g. when tracing. Sure, will do. This may not help grepping all reclaimer functions though since the code is not consistent in this regard. Reinette