- Posts: 12170
- Thank you received: 4153
Reduce read-all timing 7i76e + 7i77
- rodw
- Offline
- Platinum Member
-
Less
More
10 months 4 weeks ago #339681
by rodw
Replied by rodw on topic Reduce read-all timing 7i76e + 7i77
I don't think you can improve much on this without building the kernel from source and changing some of the config parameters. (which is not hard)
here are a couple of links I had saved
ubuntu.com/blog/real-time-kernel-tuning
eci.intel.com/docs/3.3/development/perfo...e/rt_scheduling.html
I did try installing the Intel tools but they did not like Trixie.
the only other idea I explored was to use time sensitive networking (TSN) protocols en.wikipedia.org/wiki/Time-Sensitive_Networking
But I think this would require writing a new hm2-eth driver (hm2-tsn?) and changes to the mesa hardware to support it.
This should solve the issue where networking does not currently support real time (networks are inherently store and forward so never designed for RT comms) but its not a trivial project. This would require TSN capable network cards but these are available at reasonable cost but the common entry level i225/i226 cards do not support TSN. ref: www.intel.com/content/www/us/en/support/...rs-up-to-2-5gbe.html I did find some for USD $70 to $150
here are a couple of links I had saved
ubuntu.com/blog/real-time-kernel-tuning
eci.intel.com/docs/3.3/development/perfo...e/rt_scheduling.html
I did try installing the Intel tools but they did not like Trixie.
the only other idea I explored was to use time sensitive networking (TSN) protocols en.wikipedia.org/wiki/Time-Sensitive_Networking
But I think this would require writing a new hm2-eth driver (hm2-tsn?) and changes to the mesa hardware to support it.
This should solve the issue where networking does not currently support real time (networks are inherently store and forward so never designed for RT comms) but its not a trivial project. This would require TSN capable network cards but these are available at reasonable cost but the common entry level i225/i226 cards do not support TSN. ref: www.intel.com/content/www/us/en/support/...rs-up-to-2-5gbe.html I did find some for USD $70 to $150
The following user(s) said Thank You: endian
- endian
- Offline
- Platinum Member
-
Less
More
- Posts: 339
- Thank you received: 134
10 months 4 weeks ago #339696
by endian
Replied by endian on topic Reduce read-all timing 7i76e + 7i77
I think it is higher ladies school ... Customizing the kernel we will lost possibility of regular installation maybe ... Of course we can have own kernel but there will be limitations of any updates... But on other side who will use it from regular users... but I am not expert of kernels at all.. i know just how to create great ethercat topology with low thread time at budget iron..
I am not expert of Lcnc too.. but Lcnc needs two major improvements... Latency of networking(we can use mesa and peer to peer connection) and new 7phase trajectory planner(created by nonRT + RT part)
Both are non trivial and boths are long range run..
I am not expert of Lcnc too.. but Lcnc needs two major improvements... Latency of networking(we can use mesa and peer to peer connection) and new 7phase trajectory planner(created by nonRT + RT part)
Both are non trivial and boths are long range run..
The following user(s) said Thank You: rodw
- rodw
- Offline
- Platinum Member
-
Less
More
- Posts: 12170
- Thank you received: 4153
10 months 4 weeks ago #339702
by rodw
Replied by rodw on topic Reduce read-all timing 7i76e + 7i77
@endian, you may be interested to read the ethercat master docs Chapter 4, networking where it explains its interrupt-less network drivers that bypass all of the CPU affinity requirement...
etherlab.org/en_GB/ethercat
Also, ethercat has a number of specific NIC drivers but I seem to remember these are not included in the deb file in their repo and you need to compile from source to obtain them. It looks like they now support the Trixie 6.12 kernel. Driver Source etherlab.org/en_GB/ethercathttps://gitla...vices?ref_type=heads
drivers are loaded by ethercat.conf in place of ec_generic. It would be interesting to see if the hm2_eth driver could be modified to use the ethercat drivers
etherlab.org/en_GB/ethercat
Also, ethercat has a number of specific NIC drivers but I seem to remember these are not included in the deb file in their repo and you need to compile from source to obtain them. It looks like they now support the Trixie 6.12 kernel. Driver Source etherlab.org/en_GB/ethercathttps://gitla...vices?ref_type=heads
drivers are loaded by ethercat.conf in place of ec_generic. It would be interesting to see if the hm2_eth driver could be modified to use the ethercat drivers
- endian
- Offline
- Platinum Member
-
Less
More
- Posts: 339
- Thank you received: 134
10 months 4 weeks ago #339704
by endian
Replied by endian on topic Reduce read-all timing 7i76e + 7i77
Yes, i read thier manual 1k times.. it is pretty solid extraction of what we all need...
Yes I am recompiling everytime to native NIC driver as common e1000e or rtl8190too ... It works pretty solid for 8khz thread
8190too are basically free stuff on the market right now it cost few bucks
There are native drivers for beckhoff too but I have never tried them yet ...
I am not expert in this drivers ..but if it will improve my latency i need them all ...
Yes I am recompiling everytime to native NIC driver as common e1000e or rtl8190too ... It works pretty solid for 8khz thread
8190too are basically free stuff on the market right now it cost few bucks
There are native drivers for beckhoff too but I have never tried them yet ...
I am not expert in this drivers ..but if it will improve my latency i need them all ...
- rodw
- Offline
- Platinum Member
-
Less
More
- Posts: 12170
- Thank you received: 4153
10 months 4 weeks ago #339705
by rodw
Replied by rodw on topic Reduce read-all timing 7i76e + 7i77
Also, I did not see where you are disabling Energy Efficient Ethernet. It is supposed to be disabled by default but this is not always the case. There are some flags that can be set in GRUB but they are driver specific. eg. igb.EEE=0
I have not tested this but This is a robust way to ensure EEE is disabled on every boot. Create a new systemd service file:
sudo geany /etc/systemd/system/disable-eee.service
Enable and start the service:
I have not tested this but This is a robust way to ensure EEE is disabled on every boot. Create a new systemd service file:
sudo geany /etc/systemd/system/disable-eee.service
- Add the following content, replacing enp6s0 with your interface name. This service will run ethtool after the network is up.
Code:
[Unit]Description=Disable Energy Efficient Ethernet (EEE)After=network-online.target [Service]Type=oneshotExecStart=/usr/sbin/ethtool --set-eee enp6s0 eee off [Install]WantedBy=multi-user.target
- Save and close the file.
Code:
sudo systemctl daemon-reload
Code:
sudo systemctl enable disable-eee.service
sudo systemctl start disable-eee.service
The following user(s) said Thank You: endian
- rodw
- Offline
- Platinum Member
-
Less
More
- Posts: 12170
- Thank you received: 4153
10 months 4 weeks ago #339707
by rodw
Replied by rodw on topic Reduce read-all timing 7i76e + 7i77
Working through this,
irqbalance was not installed by default in Debian since Debian 9 Stretch because the kernel now does its own rebalancing. In some case irqbalance has caused instabilities. Accordingly any advice about irqbalance is obsolete. If you have installed it, you should purge it
sudo apt purge irqbalance
Also cpufrequtils is deprecated in Trixie and has been replaced by the linux-cpupower package. to set your governor to performance, use ( I think)
irqbalance was not installed by default in Debian since Debian 9 Stretch because the kernel now does its own rebalancing. In some case irqbalance has caused instabilities. Accordingly any advice about irqbalance is obsolete. If you have installed it, you should purge it
sudo apt purge irqbalance
Also cpufrequtils is deprecated in Trixie and has been replaced by the linux-cpupower package. to set your governor to performance, use ( I think)
Code:
sudo apt install linux-cpupower
sudo cpupower frequency-set --governor performance
The following user(s) said Thank You: endian
Time to create page: 0.324 seconds