Re: [EVL] Unstable with kernel command line nohz=on nohz_full=2-3

Philippe Gerum <[email protected]>
Newsgroups dev.linux.lists.xenomai
Message-ID <[email protected]>
Hannes Diethelm <[email protected]> writes:

> Hello
>
> Due to I am switching back and forwards between PREEMT_RT and Xenomai4, I just left
> the kernel command line with the best PREEMT_RT performance in for Xenomai4. This is:
>
> isolcpus=managed_irq,domain,2-3 irqaffinity=0-1 rcu_nocbs=2-3 rcu_nocb_poll nohz=on nohz_full=2-3 intel_idle.max_cstate=1 cpufreq.off=1 nosoftlockup nowatchdog mce=off
>
> I had strange behavior when running an EVL task on CPU 2 or 3. Without network, it was fine. But as soon as I run my application with network enabled,
> it just freeze the threads from time to time. It looks like evl_sleep_until() just never wakes up sometimes. The reason might be the active network but also
> somewhere else in the code. Without network, there are also no 10'000 ns sleeps.
>
> The code is:
> evl_read_clock(EVL_CLOCK_MONOTONIC, &ts); -> ts: 1682 s 249982420 ns
> rtapi_timespec_advance(ts, ts, ns); -> ts: 1682 s 249992420 ns
> evl_sleep_until(EVL_CLOCK_MONOTONIC, &ts); -> Never returns
>
> As soon as I remove "nohz=on nohz_full=2-3", everything works fine. Might be evl relies on scheduling-clock ticks?
>

No, it can't and doesn't, that would inject in-band generated latency
into the oob timeline.

> After that resolved, I changed the command line to:
> isolcpus=managed_irq,domain,2-3 irqaffinity=0-1 rcu_nocbs=2-3 rcu_nocb_poll intel_idle.max_cstate=1 cpufreq.off=1 nosoftlockup nowatchdog mce=off evl.oobcpus=3
> so the Ethernet and also the main task run all on CPU3.
>
> After setting also the IRQ affinity for the Ethernet card to CPU3, the max latency is now quite good, max jitter 4us for the task entry, 15us at the end.
>
> I just report this anyway just in case it is a bug or others have the same issue.
>

Thanks for the heads up. I'll have a look.

-- 
Philippe.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.