The people coding their FW obviously are smart enough to know they aren’t
The kernel's own task scheduler is probably spreading some processes over the multiple cores, just not in an optimal way if it's not done manually.
If you have a Netgear router, log into it, and run a "top". It will show you which core is running which processes. Pretty sure you will see processes running on both cores. On my Asus, I see various processes running on the second core without me having asked it to to so:
Code:
admin@Stargate88:/# top
Mem: 223932K used, 291252K free, 2520K shrd, 15736K buff, 60920K cached
CPU: 0.0% usr 5.0% sys 0.0% nic 95.0% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 0.18 0.12 0.07 1/140 24543
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
323 1 admin S 5536 1.0 0 5.0 /sbin/netool
683 1 admin S 6568 1.2 1 0.0 networkmap --bootwait
519 498 admin S 6232 1.2 1 0.0 /usr/lib/ipsec/charon --use-syslog
498 496 admin S 6232 1.2 0 0.0 /usr/lib/ipsec/charon --use-syslog
532 519 admin S 6232 1.2 1 0.0 /usr/lib/ipsec/charon --use-syslog
524 519 admin S 6232 1.2 1 0.0 /usr/lib/ipsec/charon --use-syslog
535 519 admin S 6232 1.2 0 0.0 /usr/lib/ipsec/charon --use-syslog
521 519 admin S 6232 1.2 1 0.0 /usr/lib/ipsec/charon --use-syslog
533 519 admin S 6232 1.2 1 0.0 /usr/lib/ipsec/charon --use-syslog
526 519 admin S 6232 1.2 1 0.0 /usr/lib/ipsec/charon --use-syslog
530 519 admin S 6232 1.2 1 0.0 /usr/lib/ipsec/charon --use-syslog
529 519 admin S 6232 1.2 1 0.0 /usr/lib/ipsec/charon --use-syslog
523 519 admin S 6232 1.2 1 0.0 /usr/lib/ipsec/charon --use-syslog
534 519 admin S 6232 1.2 1 0.0 /usr/lib/ipsec/charon --use-syslog
527 519 admin S 6232 1.2 1 0.0 /usr/lib/ipsec/charon --use-syslog
528 519 admin S 6232 1.2 1 0.0 /usr/lib/ipsec/charon --use-syslog
525 519 admin S 6232 1.2 1 0.0 /usr/lib/ipsec/charon --use-syslog
531 519 admin S 6232 1.2 0 0.0 /usr/lib/ipsec/charon --use-syslog
520 519 admin S 6232 1.2 1 0.0 /usr/lib/ipsec/charon --use-syslog
522 519 admin S 6232 1.2 1 0.0 /usr/lib/ipsec/charon --use-syslog
1156 1 admin S 6104 1.1 1 0.0 /usr/sbin/smbd -D -s /etc/smb.conf
1155 1 admin S 5868 1.1 0 0.0 nmbd -D -s /etc/smb.conf
376 1 admin S 5840 1.1 0 0.0 httpd -i br0
381 1 admin S 5784 1.1 0 0.0 watchdog
1 0 admin S 5540 1.0 0 0.0 /sbin/preinit
330 323 admin S 5536 1.0 1 0.0 /sbin/netool
331 330 admin S 5536 1.0 0 0.0 /sbin/netool
314 1 admin S 5520 1.0 1 0.0 /sbin/wanduck
1416 1 admin S 5516 1.0 0 0.0 bwdpi_wred_alive
698 1 admin S 5516 1.0 1 0.0 erp_monitor
382 1 admin S 5516 1.0 1 0.0 sw_devled
781 1 admin S 5516 1.0 1 0.0 ntp
688 1 admin S 5516 1.0 1 0.0 hour_monitor
979 1 admin S 5516 1.0 0 0.0 usbled
348 1 admin S 5516 1.0 1 0.0 wpsaide
687 1 admin S 5516 1.0 1 0.0 bwdpi_check
391 381 admin S 5516 1.0 1 0.0 ots
1171 1 admin S 5516 1.0 1 0.0 disk_monitor
183 1 admin S 5512 1.0 0 0.0 console
375 1 admin S 5412 1.0 0 0.0 httpds -s -i br0
So, no lie there. The router really has multiple cores, and the router actually runs things on both of these cores.