hue2550 发表于 2016-07-01 22:56

用ARM CortexA9做双网卡路由器,转发速率慢,求大神支招

       采用xilinx的zynq 7000 SoC(双核、频率650MHz、DDR3 1066 1GB、linux kernel 3.9)做了一个1000M双网口路由器,用两台电脑TCP单向测速最大300+Mbit/s,电脑直连TCP单向测速750+Mbit/s。
用top查看系统状态发现测速时CPU 0的sirq 98%,软件中断的使用率98%,CPU 1的sirq 0%。
但是内存的使用率很低,不到100MB。
求大神支招!

hue2550 发表于 2016-07-03 00:03

自己帮顶,在网上看见一种方案是修改网卡的中断CPU
1、cat /proc/interrups   
   可以看见每一个eth对应的中断号
2、cat /proc/irq/中断号/smp_affinity
   可以看见该中断号绑定的CPU号
3、echo XXX > /proc/irq/中断号/smp_affinity
   修改中断号对应的CPU

PS:XXX的解释
Binary       Hex   
CPU 0    00000001         1   
CPU 1    00000010         2   
CPU 2    00000100         4   
CPU 3    00001000         8

但是有更好的方法吗?我CPU只有两个,但是ETH有5个呀
   
页: [1]
查看完整版本: 用ARM CortexA9做双网卡路由器,转发速率慢,求大神支招