automatically decrease sender throughput when network traffic is heavy?
From: zhou rui <hidden>
Date: 2011-04-21 06:50:01
hi meet a strange situation: usually throughput between sender(tcpreplay) -> receiver(my app) is about 800~900Mbps(different machine,1G nic) my kernel module will do a complicated work when it receive a packet, I register a hook func like this: prot_hook.func = my_packet_rcv; prot_hook.type = htons(ETH_P_ALL); dev_add_pack(&prot_hook); I suppose the nic driver will drop packets when traffic is heavy, however, surprised that the sender throught is dreased to 500-600Mbps why? what happened? top - 14:00:46 up 5 days, 23:25, 3 users, load average: 1.20, 0.44, 0.64 Tasks: 126 total, 5 running, 121 sleeping, 0 stopped, 0 zombie Cpu(s): 1.9%us, 8.9%sy, 0.0%ni, 76.5%id, 0.0%wa, 0.0%hi, 12.6%si, 0.0%st Mem: 16077M total, 3427M used, 12650M free, 87M buffers Swap: 2055M total, 0M used, 2055M free, 850M cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 25 root 20 0 0 0 0 R 98 0.0 10:33.29 ksoftirqd/6 the kernel is 2.6.36.4-0.7-default #5 SMP Thu Apr 14 15:37:53 SGT 2011 x86_64 x86_64 x86_64 GNU/Linux before that same test was done on kernel 2.6.16 and no this problem seen thanks rui