Unexpected realtime delay on task 0 on a HP8300
- PCW
-
- Offline
- Moderator
-
Less
More
- Posts: 18379
- Thank you received: 5017
28 Mar 2024 16:40 #297011
by PCW
Replied by PCW on topic Unexpected realtime delay on task 0 on a HP8300
Do you have irq coalescing disabled?
(this is needed for Intel MACs)
(this is needed for Intel MACs)
Please Log in or Create an account to join the conversation.
- lrak
-
Topic Author
- Offline
- Premium Member
-
Less
More
- Posts: 113
- Thank you received: 22
29 Mar 2024 21:35 #297147
by lrak
Replied by lrak on topic Unexpected realtime delay on task 0 on a HP8300
auto enp2s0
iface enp2s0 inet static
address 192.168.10.1/24
hardware−irq−coalesce−rx−usecs 0
iface enp2s0 inet static
address 192.168.10.1/24
hardware−irq−coalesce−rx−usecs 0
Please Log in or Create an account to join the conversation.
- PCW
-
- Offline
- Moderator
-
Less
More
- Posts: 18379
- Thank you received: 5017
30 Mar 2024 03:21 #297185
by PCW
Replied by PCW on topic Unexpected realtime delay on task 0 on a HP8300
Have you tried this:
forum.linuxcnc.org/38-general-linuxcnc-q...irq-affinity?start=0
Basically using isolcpus to isolate a core for LinuxCNC and then pinning the Ethernet IRQ to that core
forum.linuxcnc.org/38-general-linuxcnc-q...irq-affinity?start=0
Basically using isolcpus to isolate a core for LinuxCNC and then pinning the Ethernet IRQ to that core
The following user(s) said Thank You: lrak
Please Log in or Create an account to join the conversation.
- lrak
-
Topic Author
- Offline
- Premium Member
-
Less
More
- Posts: 113
- Thank you received: 22
02 Apr 2024 02:52 #297410
by lrak
Replied by lrak on topic Unexpected realtime delay on task 0 on a HP8300
@PCW
I can try it - but it would seem to me that if it was an IRQ that it would happen more often than every day or two?
If there was a way to tag the time it happens, I can look through the logs for some regular task happening..
I can try it - but it would seem to me that if it was an IRQ that it would happen more often than every day or two?
If there was a way to tag the time it happens, I can look through the logs for some regular task happening..
Please Log in or Create an account to join the conversation.
- PCW
-
- Offline
- Moderator
-
Less
More
- Posts: 18379
- Thank you received: 5017
02 Apr 2024 03:02 - 02 Apr 2024 03:02 #297411
by PCW
Replied by PCW on topic Unexpected realtime delay on task 0 on a HP8300
In my experience, it makes a large difference in network latency
to use isolcpus and pin the Ethernet device IRQ to the same CPU that's
running LinuxCNC's realtime.
For example, I'm typing this on a HP 800 G1 Elite that I use for normal
browsing, compilations, videos etc. At the same time, it is always running
LinuxCNC. Without IRQ pinning, it would drop (timeout) a packet maybe
once or twice a week. With IRQ pinning, it never drops packets...
to use isolcpus and pin the Ethernet device IRQ to the same CPU that's
running LinuxCNC's realtime.
For example, I'm typing this on a HP 800 G1 Elite that I use for normal
browsing, compilations, videos etc. At the same time, it is always running
LinuxCNC. Without IRQ pinning, it would drop (timeout) a packet maybe
once or twice a week. With IRQ pinning, it never drops packets...
Last edit: 02 Apr 2024 03:02 by PCW.
The following user(s) said Thank You: tommylight, lrak
Please Log in or Create an account to join the conversation.
- lrak
-
Topic Author
- Offline
- Premium Member
-
Less
More
- Posts: 113
- Thank you received: 22
11 Apr 2024 23:17 - 11 Apr 2024 23:20 #298033
by lrak
Replied by lrak on topic Unexpected realtime delay on task 0 on a HP8300
OK - that seems to have fixed it - it has been up for some days now with out the hiccup..
What I did :
installed irqbalance
I had to change this line in /etc/irqbalance.d/lcnc_irqpolicy.sh
#NIC=`awk 'BEGIN{nic=""} {if ($1=="iface") {tmpnic = $2} if ($1=="address") {if ($2 == 10.10.10.1) {nic = tmpnic}}} END{print(nic)}' /etc/network/interfaces`
NIC=enp2s0
NIC just needs the name of the interface.
What I did :
installed irqbalance
I had to change this line in /etc/irqbalance.d/lcnc_irqpolicy.sh
#NIC=`awk 'BEGIN{nic=""} {if ($1=="iface") {tmpnic = $2} if ($1=="address") {if ($2 == 10.10.10.1) {nic = tmpnic}}} END{print(nic)}' /etc/network/interfaces`
NIC=enp2s0
NIC just needs the name of the interface.
Last edit: 11 Apr 2024 23:20 by lrak.
Please Log in or Create an account to join the conversation.
Time to create page: 0.083 seconds