On 7/7/21 1:50 PM, Jarkko Sakkinen wrote:
There is consistent known behaviour how reclaimer and also the page fault are exercised for each test. I think that is what matters most right now that the basic behaviour of both the page reclaimer and page fault handler gets exercised.
There's also a lot of value to ensuring that tests can run _quickly_. If you have a test that fails one out of a million executions, it's a lot easier find and debug if it takes 1 ms versus 10 seconds.
In other words, I think I'd prefer if we run two enclaves in each execution of the selftest. One can be as small as possible. The other can be the reclaim-triggering one.
That's good both for test coverage, and it makes it a *bit* more straightforward to hack out the reclaim test if you need things to run faster.
The pkeys selftest isn't a bad example here either. It has a couple of different "malloc()" options: THP, hugetlbfs, small-page mmap(), and a bunch of tests it runs on each type. As we add more SGX tests, we might end up with "do reclaim" just being an option we pass.