On 2/10/25 08:25, Gabriele Monaco wrote:
On Mon, 2025-02-10 at 15:53 +0100, Mathieu Desnoyers wrote:
On 2025-02-10 08:57, 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.
To: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>
tiny nit below:
+ usleep(RUNNER_PERIOD);
+ curr_mm_cid = rseq_current_mm_cid();
+ /*
+ * We select one thread with high enough mm_cid to be the
new leader
Missing punctuation here (...new leader. All other...)
I guess I'm allergic to those ;) Thanks for finding it!
I wonder if checkpatch should be able to catch this kind of problem,
but that's for another day.
Do I need to send a v6 for this or just reply here with the fixed
patch?
Please send v6 with the suggested changes. Also change the commit
summary to
"selftests/rseq"
thanks,
-- Shuah