Re: 8% performance improved by change tap interact with kernel stack
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2014-01-28 08:39:10
Also in:
kvm
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2014-01-28 08:39:10
Also in:
kvm
On Tue, Jan 28, 2014 at 04:14:12PM +0800, Qin Chuanyu wrote:
according perf test result,I found that there are 5%-8% cpu cost on softirq by use netif_rx_ni called in tun_get_user. so I changed the function which cause skb transmitted more quickly. from tun_get_user -> netif_rx_ni(skb); to tun_get_user -> rcu_read_lock_bh(); netif_receive_skb(skb); rcu_read_unlock_bh(); The test result is as below: CPU: Intel(R) Xeon(R) CPU E5620 @ 2.40GHz NIC: intel 82599 Host OS/Guest OS:suse11sp3 Qemu-1.6 netperf udp 512(VM tx) test model: VM->host->host modified before : 2.00Gbps 461146pps modified after : 2.16Gbps 498782pps 8% performance gained from this change, Is there any problem for this patch ?
I think it's okay - IIUC this way we are processing xmit directly instead of going through softirq. Was meaning to try this - I'm glad you are looking into this. Could you please check latency results? -- MST