>>> The consequence of sgx_nr_free_pages not being protected is that >>> its value may not accurately reflect the actual number of free >>> pages on the system, impacting the availability of free pages in >>> support of many flows. The problematic scenario isu when the >> > > In non-atomicity is not a problem, when it is not a problem :-) This is most definitely a problem. start with sgx_nr_free_pages == 100 Now have a cpu on node0 allocate a page at the same time as another cpu on node1 allcoates a page. Each holds the relevent per-node lock, but that doesn't stop both CPUs from accessing the global together: CPU on node0 CPU on node1 sgx_nr_free_pages--; sgx_nr_free_pages--; What is the value of sgx_nr_free_pages now? We want it to be 98, but it could be 99. Rinse, repeat thousands of times. Eventually the value of sgx_nr_free_pages has not even a close connection to the number of free pages. -Tony