Xenomai with isolcpus and workqueue task

Meng, Fino fino.meng at intel.com
Mon Jul 13 07:57:05 CEST 2020


>Sent: Saturday, July 11, 2020 10:26 PM
>
>Hi all!
>
>I am using Xenomai 3.1 with 4.19.124 I-pipe patchon a smp motherboard. For my RT task I allocate few CPU cores with
>isolcpus option. However, large latency spikes are noticed due to igb watchdog activities (I am using common igb driver, not
>rt_igb).
>
>Looking into igb sources, it was understood that workqueue is used for some tasks (afaiu, it is used to link status
>monitoring)
>
>from igb_main.c
>...
>   INIT_WORK(&adapter->reset_task, igb_reset_task);
>   INIT_WORK(&adapter->watchdog_task, igb_watchdog_task); ...
>
>The Linux kernel scheduler runs this igb activities on isolated CPUs disregarding isolcpus option, ruining real-time system
>behavior.
>
>So the question, is it a correct way to use normal igb on Xenomai at all or it is not recommended? What can be done to
>prohibit Linux scheduler to allocate those tasks on isolated cores?

Hi Alex,

On this motherboard, is the basic latency test OK without igb activities?  The spike maybe not due to igb driver.
In our experience, if the motherboard's BIOS is not aware of real-time system, which mean missing some critical settings items
C-State, HyperThreading, SA GV (the power save for bus matrix)...
We are working on de-coupling BIOS setting and RT performance, let the kernel to control system status, but not finished yet.

BR / Fino (孟祥夫)
Intel – IOTG Developer Enabling

>
>Thank you!
>
>Best,
>    Alex



More information about the Xenomai mailing list