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.
