]> git.baikalelectronics.ru Git - kernel.git/commit
net: extend net_device allocation to vmalloc()
authorEric Dumazet <edumazet@google.com>
Wed, 30 Oct 2013 20:10:44 +0000 (13:10 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Nov 2013 04:19:00 +0000 (23:19 -0500)
commit5393b0c64b12fa91d79a7c48c177bd3a2e8072e1
tree4f8f287774deaba28fa4c85d085d587ae7515aaf
parent80e5d3f0ba6d8a0c94f07d6536a8b4190a92153e
net: extend net_device allocation to vmalloc()

Joby Poriyath provided a xen-netback patch to reduce the size of
xenvif structure as some netdev allocation could fail under
memory pressure/fragmentation.

This patch is handling the problem at the core level, allowing
any netdev structures to use vmalloc() if kmalloc() failed.

As vmalloc() adds overhead on a critical network path, add __GFP_REPEAT
to kzalloc() flags to do this fallback only when really needed.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Joby Poriyath <joby.poriyath@citrix.com>
Cc: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/networking/netdevices.txt
include/linux/netdevice.h
net/core/dev.c
net/core/net-sysfs.c