]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commit
tuntap: choose the txq based on rxq
authorJason Wang <jasowang@redhat.com>
Wed, 31 Oct 2012 19:46:02 +0000 (19:46 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Nov 2012 15:14:09 +0000 (11:14 -0400)
commit96442e42429e5f268ab97a3586c7694a3acc55a7
treebe875826c9239f2586f81c602077c7fe94bd131a
parentcde8b15f1aabe327038ee4e0e11dd6b798572f69
tuntap: choose the txq based on rxq

This patch implements a simple multiqueue flow steering policy - tx follows rx
for tun/tap. The idea is simple, it just choose the txq based on which rxq it
comes. The flow were identified through the rxhash of a skb, and the hash to
queue mapping were recorded in a hlist with an ageing timer to retire the
mapping. The mapping were created when tun receives packet from userspace, and
was quired in .ndo_select_queue().

I run co-current TCP_CRR test and didn't see any mapping manipulation helpers in
perf top, so the overhead could be negelected.

Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tun.c