On Tue, 2023-07-18 at 16:57 -0500, Haitao Huang wrote:
On Tue, 18 Jul 2023 16:36:53 -0500, Dave Hansen dave.hansen@intel.com wrote:
On 7/18/23 14:22, Haitao Huang wrote:
I agree this is the race. But for this to happen, that is at #1 you have only one non-SECS page left so #3 can happen. That means it is already high pressure
I think our definitions of memory pressure differ.
Pressure is raised by allocations and dropped by reclaim. This raise->drop cycle is (or should be) time-limited and can't take forever. The reclaim either works in a short period of time or something dies. If allocations are transient, pressure is transient.
Let's say a pressure blip (a one-time event) comes along and pages out that second-to-last page. That's pretty low pressure. Years pass. The enclave never gets run. Nothing pages the second-to-last page back in. A second pressure blip comes along. The SECS page gets paged out.
That's two pressure blips in, say 10 years. Is that "high pressure"?
Okay, that explains. I would consider it still triggered by high pressure blips :-)
But I agree we can drop the mentioning of pressure altogether and just state the race so no confusions.
Also perhaps the patch title is too vague. Adding more information doesn't hurt I think, e.g., mentioning it is a fix for NULL pointer dereference in the EAUG flow.