Re: [PATCH] rt-tests: cyclictest: try not to share the same cpu with main thread

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2020/7/2 0:24, John Kacur wrote:
> <
> 
> On Sat, 20 Jun 2020, Yunfeng Ye wrote:
> 
>> The main thread will interfere with the test thread and try not to share
>> the same CPU with the main thread when the number of thread is less than
>> max_cpus.
>>
>> Signed-off-by: yeyunfeng <yeyunfeng@xxxxxxxxxx>
>> ---
>>  src/cyclictest/cyclictest.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c
>> index 989113fb3483..b3d72caa10ce 100644
>> --- a/src/cyclictest/cyclictest.c
>> +++ b/src/cyclictest/cyclictest.c
>> @@ -1080,7 +1080,8 @@ static int cpu_for_thread_sp(int thread_num, int max_cpus)
>>  		fatal("No allowable cpus to run on\n");
>>  	}
>>
>> -	m = thread_num % num_cpus;
>> +	/* just don't try to share the same cpu with main thread */
>> +	m = (thread_num + 1) % num_cpus;
>>
>>  	/* there are num_cpus bits set, we want position of m'th one */
>>  	for (i = 0, cpu = 0; i < max_cpus; i++) {
>> -- 
>> 1.8.3.1
>>
>>
> I'm not sure about this one. It would work, but the purpose of the test is 
> to make sure we get good real-time results despite the other threads. Plus 
> we have done it this way for so long, and tools might expect things to 
> work this way. I'm inclined not to take this, even though your idea is 
> correct, although note that you didn't apply it everywhere it would be 
> needed.
> 
I think the cyclictest can use not only for rt-linux, but also for gp-linux
(General Purpose Linux) with isolation (for example, isolcpus, nohz_full,
and bind irq affinity to non isolation cpus, also deploy real-time application
with many constraints). In this situation, this path will work good. thanks.

> Thanks
> 
> John
> 
> 




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux