Hi Ivan

The description I posted follows " Got it to work. My final set of kernel 
parameters was isolcpus=nohz,domain,8-15 nohz_full=8-15. Moreover, I realized 
that I was running my program with FIFO scheduling via chrt -f but forgot to 
set /proc/sys/kernel/sched_rt_runtime_us to -1, which introduced variability 
(probably because it was getting preempted by the kernel). Both running without 
chrt -f, or running with it but setting sched_rt_runtime_us to -1, fixed the 
problem. – sevko Mar 1, 2020 at 18:29", which I just let you know there may 
have solution with 4.19. There is more details described in the link, please go 
through it.

Regards

Hongzhan Chen


-----Original Message-----
From: Ivan Jiang <[email protected]> 
Sent: Wednesday, March 16, 2022 4:02 PM
To: Chen, Hongzhan <[email protected]>; [email protected]
Subject: Re: CONFIG_NO_HZ_FULL = y but still have arch-timer on isolation CPUs

Dear Hongzhan:

        Seems the tsc=reliable doesn't have effect.
        BTW tsc is the clock source of x86, I was wandering if it's the same 
usage for ARM64?

Thank you.
Ivan

在 2022/3/16 14:16,“Chen, Hongzhan”<[email protected]> 写入:

    Hi Ivan

    According to the description "@sevko I found that I didn't need the 
nohz_full= (I think it's redundant given the isolcpus=nohz) but I had to add 
tsc=reliable, on CentOS 8 with kernel 4.18. – Joshua Chia" , it seems that 
there is solution with 4.18 , which should  work with 4.19?

    Regards

    Hongzhan Chen


    -----Original Message-----
    From: Ivan Jiang <[email protected]> 
    Sent: Wednesday, March 16, 2022 1:55 PM
    To: Chen, Hongzhan <[email protected]>; [email protected]
    Subject: Re: CONFIG_NO_HZ_FULL = y but still have arch-timer on isolation 
CPUs

    Dear Hongzhan:

        My kernel is 4.19.165, indeed remove xenomai, the phenomenon is the 
same.
        Maybe it’s a bug in this kernel, and how can I trace this bug if it is 
fixed in some patch?
        Thank you.

    Ivan

    在 2022/3/16 11:30,“Chen, Hongzhan”<[email protected]> 写入:

        Hi Ivan

        Hope that what discussed in  
https://stackoverflow.com/questions/60322119/completely-eliminating-the-timer-tick-in-modern-linux-5-0
 may help you.
        Seems that there need  do more settings for kernel parameters per your 
requirement but I have not tried myself.  When you remove Xenomai,  the 
phenomenon is the same?

        Regards

        Hongzhan Chen

        -----Original Message-----
        From: Xenomai <[email protected]> On Behalf Of Ivan Jiang via 
Xenomai
        Sent: Tuesday, March 15, 2022 12:01 PM
        To: [email protected]
        Subject: CONFIG_NO_HZ_FULL = y but still have arch-timer on isolation 
CPUs

        Dear Guys:



               I’ve set the configs like this

               CONFIG_NO_HZ_FULL = y

        CONFIG_RCU_NOCB_CPU=y

        CONFIG_PREEMPT=y

        CONFIG_CPU_IDLE=n

        CONFIG_ARM_CPUIDLE=n

        CONFIG_CPU_FREQ=n 

        And setenv isolcpus=1 xenomai.supported_cpus=0x02 nohz_full=1  
irqaffinity=0   rcu_nocbs=1

        The CPU is Cortex-A55 Dual core and I use CPU 0 as Linux CPU and CPU1 
for isolation core.

        But cat /proc/interrupts still the arch_timers are increasing the same 
time on both CPUs.

        Seems NO_HZ_FULL = y has no effect.

        The boot log as below:

        [    0.000000] rcu: Preemptible hierarchical RCU implementation.

        [    0.000000] rcu:     RCU dyntick-idle grace-period acceleration is 
enabled.

        [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to 
nr_cpu_ids=2.

        [    0.000000] rcu:     RCU priority boosting: priority 1 delay 500 ms.

        [    0.000000]  Tasks RCU enabled.

        [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, 
nr_cpu_ids=2

        [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0

        [    0.000000] GICv3: Distributor has no Range Selector support

        [    0.000000] GICv3: no VLPI support, no direct LPI support

        [    0.000000] GICv3: CPU0: found redistributor 0 region 
0:0x0000000011940000

        [    0.000000] NO_HZ: Full dynticks CPUs: 1.

        [    0.000000] rcu:     Offload RCU callbacks from CPUs: 1.

        [    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (virt).

        Please help me to analysis this situation.



        Very appreciate,

        Chen.











Reply via email to