On 6/13/25 03:12, Gabriele Monaco wrote:
A task in the kernel (task_mm_cid_work) runs somewhat periodically to compact the mm_cid for each process. Add a test to validate that it runs correctly and timely.
The test spawns 1 thread pinned to each CPU, then each thread, including the main one, runs in short bursts for some time. During this period, the mm_cids should be spanning all numbers between 0 and nproc.
At the end of this phase, a thread with high enough mm_cid (>= nproc/2) is selected to be the new leader, all other threads terminate.
After some time, the only running thread should see 0 as mm_cid, if that doesn't happen, the compaction mechanism didn't work and the test fails.
The test never fails if only 1 core is available, in which case, we cannot test anything as the only available mm_cid is 0.
Reviewed-by: Mathieu Desnoyers mathieu.desnoyers@efficios.com Signed-off-by: Gabriele Monaco gmonaco@redhat.com
Mathieu,
Let me know if you would like me to take this through my tree.
Acked-by: Shuah Khan skhan@linuxfoundation.org
thanks, -- Shuah