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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html