The board has 3! inside-secure crypto chips...
(I think one in the main processor and two more in the CPs, in any case, it showed several)
But there's no reason to use them, I've never seen them be faster than the ARMv8 Crypto Extensions...
Quite the contrary, all the tests I've done and seen so far have been significantly slower...
Edit: I posted my results with ARMv8 CE there, not fast enough?
iperf3 between the router and PC? Well, then the router only has to send or receive.(If you're not testing with --bidir)
If you want to route 10Gbit via the router, then two ports are used on the router, one receives and one sends, which is a bit more computationally intensive.
router < - > client iperf3, i should have measured some forwarding/switching traffic.
Does anybody know why we are booting the kernel with cpu idling disabled? (cpuidle.off=1) i think this disables the cpu c-states. Is it because of a hardware bug in this board or is it just for lowering (network) latencies?
But experience has shown that this does not offer any major advantages for ARM CPUs.
The energy savings is only a few mW, and there are latency issues and packet loss when the CPU is clocked down significantly.
Some CPUs have bugs and cannot switch from the lowest to the highest frequency.
Sometimes cores freeze and no longer switch frequencies.
Some routers no longer boot reliably, etc.
In short, I don't use it on routers that support it because it only causes problems anyway.
And the power savings can hardly be measured with normal multimeters.
I think you are referring to cpufreq aka dvfs; I was referring to C-states aka cpuidle. But I think you are right about the power consumption (in these a72 arm cores at least).
Question: Would it make sense to have my WAN 10gig port be the cpu-direct port? If yes, how would I even find out which of the 3 is the cpu-direct one?
@loaNga0m Actually, I checked the device and it turns out that there by default is cpufreq with ondemand governor as default. On idle, the cpus’ are sitting at 550Mhz. If somebody wants to have them run at max frequency do:
I am building my own openwrt kernel, and under the default menuconfig section ‘Accelerated Cryptographic Algorithms for CPU (arm64)’ , I see that there is nothing selected from ARMv8 crypto extensions; for example there is no https://cateee.net/lkddb/web-lkddb/CRYPTO_AES_ARM64_CE_BLK.html
Do these have to be enabled? Looking at /proc/crypto I only see generic implementations and nothing specific to NEON or armv8 ce.
Sorry, I made a mistake in my measuring setup. It now shows 16w-20w idling.
Good news is that I can reach 8.7Gbps when iperf3 forwarding and mtu=1500. 1 core is sitting at 100% . mtu=9000 helps a lot with the cpu load and bandwidth (9.9Gbps).
I am now running a custom openwrt build with PAGE_SIZE=64k and VA_BITS=48 , and I can reach 9.4Gbps forwarding with mtu=1500 and minimum CPU load. Also self-iperf3:
Does anybody know if there is a reason why the sysupgrade for the iEi Puzzle-M902 (and therefore also for the Qnap QHora-322) does not use A/B flashing? All the partitions are there already (see this comment here) and it is also possible to edit the bootcmd from within OpenWrt.
As a proof of concept I have written myself a little shell script that downloads, verifies, extracts and flashes an OpenWrt image to the non-active partitions.
The only two prerequisites are that you need to
install the “losetup” package
create the file /etc/fw_env.config with the following content, so that the commands "fw_printenv" and "fw_setenv" know where to find the bootloader’s environment variables