CCR2116-12G-4S+ worse performance than CCR2004-1G-12S+2XS?

We are using a CCR2116-12G-4S+ as a core gateway and the CCR2004-1G-12S+2XS at a tower site. Using MPLS/VPLS or EoIP tunnels we have discovered that passing traffic from CCR2116-12G-4S+ to CCR2004-1G-12S+2XS gives far better performance than going from CCR2004-1G-12S+2XS to CCR2116-12G-4S+. What I have noticed is that when sending traffic to the CCR2004-1G-12S+2XS , the CCR2116-12G-4S+ uses all of it’s CPUs to provide good throughput and the CCR2004-1G-12S+2XS maxes out 2 of it’s 4 cpus at 100% but when the traffic comes from the CCR2004-1G-12S+2XS to the CCR2116-12G-4S+ the CCR2004-1G-12S+2XS spreads out the load across all 4 of it’s cpus but the CCR2116-12G-4S+ maxes out a single cpu and the throughput is only 1/4 of what it is in the other direction. If I do the same tests between 2 CCR2004-1G-12S+2XS s I get equal bandwidth in both directions and 2 CPUs are maxed out on the receiving end.

So it seems like the CCR2116-12G-4S+ is not multithreaded but the CCR2004-1G-12S+2XS is.

Is this expected or is there maybe a bug in the CCR2116-12G-4S+?

i think without:

configs
topology diagram
details of testing procedure

there is not too much to say than guessing

CCR2116 has AL73400 16 cores @ 2000 MHz, Switch chip 98DX3255
CCR2004 has AL32400 4 cores @ 1700 MHz, no switch chip, PIPE 98PX1012 “Passive Intelligent Port Extender”

Theoretically CCR2116 >>> CCR2004

Try 7.12rc4 ,
*) system - fixed process multithreading (introduced in v7.9);

Thanks for the info kreb.
I wonder if Mikrotik could comment on if that fix would be related to my issue or not.
We are in production with this gateway so I am not eagear to use Beta firmware :frowning:

Also, the 2004 uses less CPU if the traffic flow goes from the SFP28 to an SFP+ port (or vice versa). And I’ve noticed the machine on the receiving end (all other things being equal) ends up using more CPU than the sender, at least for TCP.

I also see that I have L3 Hw Offloading off and have read several posts that seem to indicate it is unstable. Does anyone know if enabling it may help and if enabling it on a production server will cause any disruption?