- Configuring LinuxCNC
- Advanced Configuration
- EtherCAT
- IgH 1.6.9 MEASURE_TIMING 1 kHz on Debian 13 RT, J6413, I226-V + ec_igc (isolcpus
IgH 1.6.9 MEASURE_TIMING 1 kHz on Debian 13 RT, J6413, I226-V + ec_igc (isolcpus
- tietouwa
- Offline
- New Member
-
Less
More
- Posts: 2
- Thank you received: 0
28 Aug 2026 08:20 #349072
by tietouwa
IgH 1.6.9 MEASURE_TIMING 1 kHz on Debian 13 RT, J6413, I226-V + ec_igc (isolcpus was created by tietouwa
Follow-up on a second box, same method as the first post.
Not another N100. This one is:
• CPU: Intel Celeron J6413 (4 cores)
• Distro: Debian 13 (Trixie)
• Kernel: 6.12.101+deb13-rt-amd64, PREEMPT_RT
• IgH: 1.6.9, native driver ec_igc
• NIC: Intel I226-V (8086:125c), dedicated EtherCAT port
• Slave idle in PREOP (application stopped)
• cmdline: isolcpus=managed_irq,domain,3 nohz_full=3 rcu_nocbs=3 irqaffinity=0-2 intel_idle.max_cstate=0 processor.max_cstate=0 idle=poll iommu=pt
• Governor: performance. RT thread pinned to isolated CPU3 with SCHED_FIFO 90.
Same MEASURE_TIMING path as before: clock_nanosleep(CLOCK_MONOTONIC, 1 kHz), then only receive / process / queue / send. No PDO mapping, no CiA402. 60 s / 60000 cycles.
Wakeup latency (µs)
min / p50 / p90 / p95 / p99 / p999 / max / avg
= 2.096 / 2.240 / 2.798 / 2.845 / 2.923 / 3.360 / 7.387 / 2.360
After the test the application was started again. The same I226-V port runs the servo at 1 kHz in OP with 0 lost frames.
This still does not compare I226/ec_igc with I210/igb — both boxes are I226-V. It only shows a second x86_64 + ec_igc sample on 6.12-rt. 60 s idle PREOP is not a production worst-case.
Not another N100. This one is:
• CPU: Intel Celeron J6413 (4 cores)
• Distro: Debian 13 (Trixie)
• Kernel: 6.12.101+deb13-rt-amd64, PREEMPT_RT
• IgH: 1.6.9, native driver ec_igc
• NIC: Intel I226-V (8086:125c), dedicated EtherCAT port
• Slave idle in PREOP (application stopped)
• cmdline: isolcpus=managed_irq,domain,3 nohz_full=3 rcu_nocbs=3 irqaffinity=0-2 intel_idle.max_cstate=0 processor.max_cstate=0 idle=poll iommu=pt
• Governor: performance. RT thread pinned to isolated CPU3 with SCHED_FIFO 90.
Same MEASURE_TIMING path as before: clock_nanosleep(CLOCK_MONOTONIC, 1 kHz), then only receive / process / queue / send. No PDO mapping, no CiA402. 60 s / 60000 cycles.
Wakeup latency (µs)
min / p50 / p90 / p95 / p99 / p999 / max / avg
= 2.096 / 2.240 / 2.798 / 2.845 / 2.923 / 3.360 / 7.387 / 2.360
After the test the application was started again. The same I226-V port runs the servo at 1 kHz in OP with 0 lost frames.
This still does not compare I226/ec_igc with I210/igb — both boxes are I226-V. It only shows a second x86_64 + ec_igc sample on 6.12-rt. 60 s idle PREOP is not a production worst-case.
Please Log in or Create an account to join the conversation.
- Configuring LinuxCNC
- Advanced Configuration
- EtherCAT
- IgH 1.6.9 MEASURE_TIMING 1 kHz on Debian 13 RT, J6413, I226-V + ec_igc (isolcpus
Time to create page: 0.331 seconds