I think you need to activate receive packet steering, and maybe even edit the script that configures packet steering. In the past the issue was that packet steering tried to move packet processing (mostly done in softinterrupt context) to all CPUs that are not actually handling the ethernet interrupts. On a dual core router that means that e.g. when using SQM both shaper instances will run on CPU1, which is only a slight improvement over having both shapers and the ethernet interrupts on CPU0… IMHO the solution for dual core routers is to allow packet steering onto all CPUs.
I think the original design was motivated by a redhat howto, that IMHO targeted big multi-core computers with fast interfaces, where a) interrupt processing is a more noticeable load in itself and b) where there are enough CPUs to distribute the softinterrupt processing over. So I argue that the default packet steering strategy is not optimized for dual core routers…
Mmmh, looking in TOS6.2.4’s /etc/hotplug.d/net/20-smp-packet-steering
it seems that the exclusion of interrupt processing CPUs is not happening anymore, so if you have not done so already please try to enable packet steering (in the Network->Interfaces page on the Global network options tab) and redo your test.
Side-note, I seem to recall that the omnia’s SoC can not move some interrupts around at all, so some will stick to CPU0…