diff options
author | Pankaj Gupta <pagupta@redhat.com> | 2015-01-12 07:11:29 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-01-12 23:05:05 +0100 |
commit | baf71c5c1f80d82e92924050a60b5baaf97e3094 (patch) | |
tree | 23ea0c750d5edac292857a411fb3aed22f13e460 /drivers/net/tun.c | |
parent | net: allow large number of rx queues (diff) | |
download | linux-baf71c5c1f80d82e92924050a60b5baaf97e3094.tar.xz linux-baf71c5c1f80d82e92924050a60b5baaf97e3094.zip |
tuntap: Increase the number of queues in tun.
Networking under kvm works best if we allocate a per-vCPU RX and TX
queue in a virtual NIC. This requires a per-vCPU queue on the host side.
It is now safe to increase the maximum number of queues.
Preceding patch: 'net: allow large number of rx queues'
made sure this won't cause failures due to high order memory
allocations. Increase it to 256: this is the max number of vCPUs
KVM supports.
Size of tun_struct changes from 8512 to 10496 after this patch. This keeps
pages allocated for tun_struct before and after the patch to 3.
Signed-off-by: Pankaj Gupta <pagupta@redhat.com>
Reviewed-by: David Gibson <dgibson@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r-- | drivers/net/tun.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index c0df872f5b8c..74fdf1158448 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -124,10 +124,9 @@ struct tap_filter { unsigned char addr[FLT_EXACT_COUNT][ETH_ALEN]; }; -/* DEFAULT_MAX_NUM_RSS_QUEUES were chosen to let the rx/tx queues allocated for - * the netdevice to be fit in one page. So we can make sure the success of - * memory allocation. TODO: increase the limit. */ -#define MAX_TAP_QUEUES DEFAULT_MAX_NUM_RSS_QUEUES +/* MAX_TAP_QUEUES 256 is chosen to allow rx/tx queues to be equal + * to max number of VCPUs in guest. */ +#define MAX_TAP_QUEUES 256 #define MAX_TAP_FLOWS 4096 #define TUN_FLOW_EXPIRE (3 * HZ) |