A glue I found is in the case of no delay, when I set a big buffer for iperf, the NIC driver called "netif_stop_queue" many times, while with a small buffer for iperf, there is seldom. I added some debug info in NIC driver to find this.Is this related to the problem I met? And how I can locate and solve this performance problem?I cant be sure, but that sounds like you might be seeing what is called a "send stall", you are over-running the NIC queue. Try this (assuming you are usign eth0):ifconfig eth0 txqueuelen 5000and see if that makes any difference.Thanks a lot in advance.