net: allow large number of tx queues
authorEric Dumazet <edumazet@google.com>
Thu, 20 Jun 2013 08:15:51 +0000 (01:15 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 Jun 2013 06:56:55 +0000 (23:56 -0700)
netif_alloc_netdev_queues() uses kcalloc() to allocate memory
for the "struct netdev_queue *_tx" array.

For large number of tx queues, kcalloc() might fail, so this
patch does a fallback to vzalloc().

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>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

No differences found