Ethercat performance
|
Prima di stampare pensa ai costi ambientali. Please consider the
environment before printing this email.
|
Prima di stampare pensa ai costi ambientali. Please consider the
environment before printing this email.
Sent: Tuesday, March 24, 2020 4:39 PM
To: acrn-users@... <acrn-users@...>
Subject: [acrn-users] Ethercat performance
|
|
Prima di stampare pensa ai costi ambientali. Please consider the environment before printing
this email.
Hi Dubravko,
I think you can do it by passthru the PCIe network adapter to UOS, just like what you did to passthru any other devices.
You may further remove those acrn-br0 and tap devices by working on /usr/lib/systemd/network on SOS, but since UOS can have access to the Ethernet device directly, this might not matter.
Best Regards,
Zide
Sent: Tuesday, March 24, 2020 11:03 AM
To: acrn-users@...
Subject: Re: [acrn-users] Ethercat performance
Hello,
We might have figured out one way to get improved network performance in UOS, but after googling and checking ACRN documentation I'm still not sure whether it is actually possible: can we somehow disable (PCIe) network adapter in SOS, so SOS doesn't load the driver and the bridge; then use passthrough feature so that UOS can access the device directly?
|
|
Prima di stampare pensa ai costi ambientali.
Please consider the environment before printing this email.
From:
acrn-users@... <acrn-users@...> on behalf of Dubravko Moravski | Exor Embedded S.r.l. via Lists.Projectacrn.Org <dubravko.moravski=exorembedded.net@...>
Sent: Tuesday, March 24, 2020 4:39 PM
To: acrn-users@... <acrn-users@...>
Subject: [acrn-users] Ethercat performance
Hello,
We want to use ACRN to, among other things, "talk" to Ethercat PLCs. Without ACRN, we get latencies of about 500 us. Acceptable latencies are generally below 1 ms. With ACRN (compiled in release mode) and the preempt-rt UOS, we get about 5 ms, which is close to usable, but not quite good enough.
Is there any setting or additional optimization we could turn on, that will get us lower latencies with ACRN?
We already did the cyclictest test, and were satisfied with those results.
When measuring Ethercat, I've also tried running a script recommended to be run before cyclictest, and that didn't help. Also I've tried adjusting bios settings, that also didn't help.
|
|
Prima di stampare pensa ai costi ambientali.
Please consider the environment before printing this email.
Hi Dubravko,
For the device related to RT performance, it needs to passthrough the device to RTVM to avoid VM-Exits.
To passthrough the ethernet card to RTVM, you can refer to the sample launch script devicemodel/samples/nuc/launch_hard_rt_vm.sh
You could
- replace the vid,pid of the device of eth in array passthru_vpid.
- uncomment the cmd for Ethernet pass-through
- Add the device as a passthrough in acrn-dm cmd as below:
-s 2,passthru,02/0/0 \
-s 3,virtio-console,@stdio:stdio_port \
-s 4,passthru,<ethernet_bus>/<ethernet_device>/<ethernet_function> \
...
Please replace the bus/device/function number according to your machine in hex.
We will have a check about the doc and add device passthrough practice document if missing.
--
BRs,
Binbin
Sent: Wednesday, March 25, 2020 2:49 AM
To: acrn-users@...
Subject: Re: [acrn-users] Ethercat performance
Hi Dubravko,
I think you can do it by passthru the PCIe network adapter to UOS, just like what you did to passthru any other devices.
You may further remove those acrn-br0 and tap devices by working on /usr/lib/systemd/network on SOS, but since UOS can have access to the Ethernet device directly, this might not matter.
Best Regards,
Zide
From:
acrn-users@... <acrn-users@...>
On Behalf Of Dubravko Moravski | Exor Embedded S.r.l.
Sent: Tuesday, March 24, 2020 11:03 AM
To: acrn-users@...
Subject: Re: [acrn-users] Ethercat performance
Hello,
We might have figured out one way to get improved network performance in UOS, but after googling and checking ACRN documentation I'm still not sure whether it is actually possible: can we somehow disable (PCIe) network adapter in SOS, so SOS doesn't load the driver and the bridge; then use passthrough feature so that UOS can access the device directly?
|
|
Prima di stampare pensa ai costi ambientali.
Please consider the environment before printing this email.
From:
acrn-users@... <acrn-users@...> on behalf of Dubravko Moravski | Exor Embedded S.r.l. via Lists.Projectacrn.Org <dubravko.moravski=exorembedded.net@...>
Sent: Tuesday, March 24, 2020 4:39 PM
To: acrn-users@... <acrn-users@...>
Subject: [acrn-users] Ethercat performance
Hello,
We want to use ACRN to, among other things, "talk" to Ethercat PLCs. Without ACRN, we get latencies of about 500 us. Acceptable latencies are generally below 1 ms. With ACRN (compiled in release mode) and the preempt-rt UOS, we get about 5 ms, which is close to usable, but not quite good enough.
Is there any setting or additional optimization we could turn on, that will get us lower latencies with ACRN?
We already did the cyclictest test, and were satisfied with those results.
When measuring Ethercat, I've also tried running a script recommended to be run before cyclictest, and that didn't help. Also I've tried adjusting bios settings, that also didn't help.
|
|
Prima di stampare pensa ai costi ambientali.
Please consider the environment before printing this email.
|
Prima di stampare pensa ai costi ambientali. Please consider the
environment before printing this email.
Sent: Wednesday, March 25, 2020 3:12 AM
To: acrn-users@... <acrn-users@...>
Subject: Re: [acrn-users] Ethercat performance
Hi Dubravko,
For the device related to RT performance, it needs to passthrough the device to RTVM to avoid VM-Exits.
To passthrough the ethernet card to RTVM, you can refer to the sample launch script devicemodel/samples/nuc/launch_hard_rt_vm.sh
You could
- replace the vid,pid of the device of eth in array passthru_vpid.
- uncomment the cmd for Ethernet pass-through
- Add the device as a passthrough in acrn-dm cmd as below:
-s 2,passthru,02/0/0 \
-s 3,virtio-console,@stdio:stdio_port \
-s 4,passthru,<ethernet_bus>/<ethernet_device>/<ethernet_function> \
...
Please replace the bus/device/function number according to your machine in hex.
We will have a check about the doc and add device passthrough practice document if missing.
--
BRs,
Binbin
Sent: Wednesday, March 25, 2020 2:49 AM
To: acrn-users@...
Subject: Re: [acrn-users] Ethercat performance
Hi Dubravko,
I think you can do it by passthru the PCIe network adapter to UOS, just like what you did to passthru any other devices.
You may further remove those acrn-br0 and tap devices by working on /usr/lib/systemd/network on SOS, but since UOS can have access to the Ethernet device directly, this might not matter.
Best Regards,
Zide
From: acrn-users@... <acrn-users@...>
On Behalf Of Dubravko Moravski | Exor Embedded S.r.l.
Sent: Tuesday, March 24, 2020 11:03 AM
To: acrn-users@...
Subject: Re: [acrn-users] Ethercat performance
Hello,
We might have figured out one way to get improved network performance in UOS, but after googling and checking ACRN documentation I'm still not sure whether it is actually possible: can we somehow disable (PCIe) network adapter in SOS, so SOS doesn't load the driver and the bridge; then use passthrough feature so that UOS can access the device directly?
|
|
Prima di
stampare pensa ai costi ambientali. Please consider the environment before printing this email.
From:
acrn-users@... <acrn-users@...> on behalf of Dubravko Moravski | Exor Embedded S.r.l. via Lists.Projectacrn.Org <dubravko.moravski=exorembedded.net@...>
Sent: Tuesday, March 24, 2020 4:39 PM
To: acrn-users@... <acrn-users@...>
Subject: [acrn-users] Ethercat performance
Hello,
We want to use ACRN to, among other things, "talk" to Ethercat PLCs. Without ACRN, we get latencies of about 500 us. Acceptable latencies are generally below 1 ms. With ACRN (compiled in release mode) and the preempt-rt UOS, we get about 5 ms, which is close to usable, but not quite good enough.
Is there any setting or additional optimization we could turn on, that will get us lower latencies with ACRN?
We already did the cyclictest test, and were satisfied with those results.
When measuring Ethercat, I've also tried running a script recommended to be run before cyclictest, and that didn't help. Also I've tried adjusting bios settings, that also didn't help.
|
|
Prima di
stampare pensa ai costi ambientali. Please consider the environment before printing this email.
Hi Dubravko,
Great to hear that!
--
BRs,
Binbin
Sent: Wednesday, March 25, 2020 9:46 PM
To: acrn-users@...
Subject: Re: [acrn-users] Ethercat performance
Hi Binbin and Zide,
Thank you, I confirm that this works very well, and we've got acceptably low latencies in RTVM. Actually my colleague with better understanding of the test has commented that new measurements are "perfect!"
Best regards,
Dubravko
|
|
Prima di stampare pensa ai costi ambientali.
Please consider the environment before printing this email.
From:
acrn-users@... <acrn-users@...> on behalf of Wu, Binbin via Lists.Projectacrn.Org <binbin.wu=intel.com@...>
Sent: Wednesday, March 25, 2020 3:12 AM
To: acrn-users@... <acrn-users@...>
Subject: Re: [acrn-users] Ethercat performance
Hi Dubravko,
For the device related to RT performance, it needs to passthrough the device to RTVM to avoid VM-Exits.
To passthrough the ethernet card to RTVM, you can refer to the sample launch script devicemodel/samples/nuc/launch_hard_rt_vm.sh
You could
- replace the vid,pid of the device of eth in array passthru_vpid.
- uncomment the cmd for Ethernet pass-through
- Add the device as a passthrough in acrn-dm cmd as below:
-s 2,passthru,02/0/0 \
-s 3,virtio-console,@stdio:stdio_port \
-s 4,passthru,<ethernet_bus>/<ethernet_device>/<ethernet_function> \
...
Please replace the bus/device/function number according to your machine in hex.
We will have a check about the doc and add device passthrough practice document if missing.
--
BRs,
Binbin
From:
acrn-users@... <acrn-users@...>
On Behalf Of Chen, Zide
Sent: Wednesday, March 25, 2020 2:49 AM
To: acrn-users@...
Subject: Re: [acrn-users] Ethercat performance
Hi Dubravko,
I think you can do it by passthru the PCIe network adapter to UOS, just like what you did to passthru any other devices.
You may further remove those acrn-br0 and tap devices by working on /usr/lib/systemd/network on SOS, but since UOS can have access to the Ethernet device directly, this might not matter.
Best Regards,
Zide
From:
acrn-users@... <acrn-users@...>
On Behalf Of Dubravko Moravski | Exor Embedded S.r.l.
Sent: Tuesday, March 24, 2020 11:03 AM
To: acrn-users@...
Subject: Re: [acrn-users] Ethercat performance
Hello,
We might have figured out one way to get improved network performance in UOS, but after googling and checking ACRN documentation I'm still not sure whether it is actually possible: can we somehow disable (PCIe) network adapter in SOS, so SOS doesn't load the driver and the bridge; then use passthrough feature so that UOS can access the device directly?
|
|
Prima di stampare pensa ai costi ambientali.
Please consider the environment before printing this email.
From:
acrn-users@... <acrn-users@...> on behalf of Dubravko Moravski | Exor Embedded S.r.l. via Lists.Projectacrn.Org <dubravko.moravski=exorembedded.net@...>
Sent: Tuesday, March 24, 2020 4:39 PM
To: acrn-users@... <acrn-users@...>
Subject: [acrn-users] Ethercat performance
Hello,
We want to use ACRN to, among other things, "talk" to Ethercat PLCs. Without ACRN, we get latencies of about 500 us. Acceptable latencies are generally below 1 ms. With ACRN (compiled in release mode) and the preempt-rt UOS, we get about 5 ms, which is close to usable, but not quite good enough.
Is there any setting or additional optimization we could turn on, that will get us lower latencies with ACRN?
We already did the cyclictest test, and were satisfied with those results.
When measuring Ethercat, I've also tried running a script recommended to be run before cyclictest, and that didn't help. Also I've tried adjusting bios settings, that also didn't help.
|
|
Prima di stampare pensa ai costi ambientali.
Please consider the environment before printing this email.