Re: [RFC PATCH 2/3] x86/resctrl: Move the task's threads to the group automatically

From: Reinette Chatre
Date: Wed Jan 04 2023 - 11:46:04 EST


Hi Babu,

On 1/3/2023 2:06 PM, Babu Moger wrote:
> Some micro benchmarks run multiple threads when started. Monitoring
> (or controlling) the benchmark using the task id is bit tricky. Users
> need to track all the threads and assign them individually to monitor
> or control. For example:
> $stream_lowOverhead -codeAlg 13 -nRep 100000 -cores 0 1 2 3 -memMB 32
> -alignKB 8192 -aPadB 0 -bPadB 0 -cPadB 0 -testMask 1
>
> $pidof stream_lowOverhead
> 6793
>
> This benchmark actually runs multiple threads underneath on the cores
> listed above. It can be seen with the command:
> $ps -T -p 6793
> PID SPID TTY TIME CMD
> 6793 6793 pts/2 00:00:00 stream_lowOverh
> 6793 6802 pts/2 00:01:25 stream_lowOverh
> 6793 6803 pts/2 00:01:25 stream_lowOverh
> 6793 6804 pts/2 00:01:25 stream_lowOverh
> 6793 6805 pts/2 00:01:25 stream_lowOverh
>
> Users need to assign these threads individually to the resctrl group for
> monitoring or controlling.
>
> $echo 6793 > /sys/fs/restrl/clos1/tasks
> $echo 6802 > /sys/fs/restrl/clos1/tasks
> $echo 6803 > /sys/fs/restrl/clos1/tasks
> $echo 6804 > /sys/fs/restrl/clos1/tasks
> $echo 6805 > /sys/fs/restrl/clos1/tasks
>
> That is not easy when dealing with numerous threads.

How about:

# echo $$ > /sys/fs/resctrl/clos1/tasks
# stream_lowOverhead -codeAlg 13 -nRep 100000 -cores 0 1 2 3 -memMB 32\
-alignKB 8192 -aPadB 0 -bPadB 0 -cPadB 0 -testMask 1


Reinette