[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <da68dc94-9aa8-4ee1-b0f9-e28eb5c7da56@efficios.com>
Date: Mon, 10 Feb 2025 15:53:12 +0100
From: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
To: Gabriele Monaco <gmonaco@...hat.com>,
Peter Zijlstra <peterz@...radead.org>, "Paul E. McKenney"
<paulmck@...nel.org>, Shuah Khan <shuah@...nel.org>,
linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org
Subject: Re: [PATCH v5 3/3] rseq/selftests: Add test for mm_cid compaction
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@...icios.com>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
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...)
> + * all other threads (including the main thread) will terminate.
> + * After some time, the mm_cid of the only remaining thread should
> + * converge to 0, if not, the test fails.
> + */
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com
Powered by blists - more mailing lists