linux/net
Pankaj Gupta 1059590254 net: allow large number of rx queues
netif_alloc_rx_queues() uses kcalloc() to allocate memory
for "struct netdev_queue *_rx" array.
If we are doing large rx queue allocation kcalloc() might
fail, so this patch does a fallback to vzalloc().
Similar implementation is done for tx queue allocation in
netif_alloc_netdev_queues().

We avoid failure of high order memory allocation
with the help of vzalloc(), this allows us to do large
rx and tx queue allocation which in turn helps us to
increase the number of queues in tun.

As vmalloc() adds overhead on a critical network path,
__GFP_REPEAT flag is used with kzalloc() to do this fallback
only when really needed.

Signed-off-by: Pankaj Gupta <pagupta@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: David Gibson <dgibson@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-01-12 17:05:05 -05:00
..
6lowpan
9p
802
8021q vlan: Add ability to always enable TSO/UFO 2014-12-12 10:58:53 -05:00
appletalk
atm put iov_iter into msghdr 2014-12-09 16:29:03 -05:00
ax25
batman-adv batman-adv: Kconfig, Add missing DEBUG_FS dependency 2015-01-07 22:17:11 +01:00
bluetooth Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next 2015-01-02 15:58:21 -05:00
bridge bridge: new function to pack vlans into ranges during gets 2015-01-12 16:47:05 -05:00
caif put iov_iter into msghdr 2014-12-09 16:29:03 -05:00
can
ceph libceph: specify position of extent operation 2014-12-17 20:09:52 +03:00
core net: allow large number of rx queues 2015-01-12 17:05:05 -05:00
dcb
dccp net: introduce helper macro for_each_cmsghdr 2014-12-10 22:41:55 -05:00
decnet net: tcp: add RTAX_CC_ALGO fib handling 2015-01-05 22:55:24 -05:00
dns_resolver
dsa Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ethernet net: Add Transparent Ethernet Bridging GRO support. 2015-01-02 15:46:41 -05:00
hsr
ieee802154 nl802154: introduce support for cca settings 2014-12-19 00:19:23 +01:00
ipv4 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-06 22:29:20 -05:00
ipv6 net: tcp: add per route congestion control 2015-01-05 22:55:24 -05:00
ipx
irda irda: Convert function pointer arrays and uses to const 2014-12-10 15:33:16 -05:00
iucv net: introduce helper macro for_each_cmsghdr 2014-12-10 22:41:55 -05:00
key
l2tp l2tp : multicast notification to the registered listeners 2014-12-31 14:17:20 -05:00
lapb
llc llc: Make llc_sap_action_t function pointer arrays const 2014-12-10 15:21:24 -05:00
mac80211 Revert "mac80211: Fix accounting of the tailroom-needed counter" 2015-01-05 10:33:46 +01:00
mac802154 ieee802154: iface: move multiple node type check 2014-12-20 00:06:55 +01:00
mpls mpls: Fix allowed protocols for mpls gso 2014-12-23 23:57:31 -05:00
netfilter rhashtable: Per bucket locks & deferred expansion/shrinking 2015-01-03 14:32:57 -05:00
netlabel
netlink netlink: Lockless lookup with RCU grace period in socket release 2015-01-03 14:32:57 -05:00
netrom
nfc Merge tag 'master-2014-12-08' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2014-12-09 18:12:03 -05:00
openvswitch openvswitch: Consistently include VLAN header in flow and port stats. 2015-01-02 16:14:20 -05:00
packet packet: make packet too small warning match condition 2015-01-12 16:00:55 -05:00
phonet
rds rds: Fix min() warning in rds_message_inc_copy_to_user() 2014-12-15 11:49:09 -05:00
rfkill Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
rose
rxrpc net: introduce helper macro for_each_cmsghdr 2014-12-10 22:41:55 -05:00
sched net: sched: sch_teql: Remove unused function 2015-01-12 16:50:46 -05:00
sctp net: introduce helper macro for_each_cmsghdr 2014-12-10 22:41:55 -05:00
sunrpc NFS client updates for Linux 3.19 2014-12-10 15:13:13 -08:00
switchdev
tipc tipc: make netlink support net namespace 2015-01-12 16:24:34 -05:00
unix put iov_iter into msghdr 2014-12-09 16:29:03 -05:00
vmw_vsock put iov_iter into msghdr 2014-12-09 16:29:03 -05:00
wimax
wireless Revert "cfg80211: make WEXT compatibility unselectable" 2014-12-30 16:42:29 -08:00
x25
xfrm net: xfrm: xfrm_algo: Remove unused function 2015-01-12 16:50:46 -05:00
Kconfig
Makefile Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2014-12-16 15:53:03 -08:00
compat.c put iov_iter into msghdr 2014-12-09 16:29:03 -05:00
socket.c [regression] chunk lost from bd9b51 2014-12-19 07:13:21 -05:00
sysctl_net.c