All of lore.kernel.org
 help / color / mirror / Atom feed
* [0/2] macvlan: Handle broadcasts in work queue
@ 2014-04-07  7:53 Herbert Xu
  2014-04-17  5:45 ` [PATCH 1/2] net: Add __dev_forward_skb Herbert Xu
  2014-04-17  5:45 ` [PATCH 2/2] macvlan: Move broadcasts into a work queue Herbert Xu
  0 siblings, 2 replies; 28+ messages in thread
From: Herbert Xu @ 2014-04-07  7:53 UTC (permalink / raw)
  To: David S. Miller, netdev

Hi:

These two patches fix a problem where the macvlan driver tries
to do too much work in netif_receive_skb.  In particular, for
broadcasts it'll send one skb to each macvlan interface all
within a single netif_receive_skb call.  This is way too much
for netif_rx to handle once the number of macvlans exceeds a
certain level (low thousands).  Even if netif_rx could handle
it, doing this amount of work in a single netif_receive_skb
call seriously skews the balance of the network stack.

These patches fix this by moving broadcasts to process context
so that the scheduler can deal with the fairness issue.  The
immediate problem of the netif_rx limit is handled by using
netif_rx_ni.

Similar issues exist elsewhere in our stack regarding broadcasts,
e.g., the bridge driver.  Luckily, with the bridge driver at
least we happen to have a limit of 256 ports per bridge.  Still,
doing 256 actions in one netif_receive_skb is less than ideal.

Cheers,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2014-04-20 22:20 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <<20140407075347.GA26461@gondor.apana.org.au>
2014-04-07  7:55 ` [PATCH 1/2] net: Add __dev_forward_skb Herbert Xu
2014-04-07 18:48   ` Stephen Hemminger
2014-04-08  7:15     ` Herbert Xu
2014-04-08 16:27       ` David Miller
2014-04-07  7:55 ` [PATCH 2/2] macvlan: Move broadcasts into a work queue Herbert Xu
2014-04-07 14:07   ` Eric Dumazet
2014-04-07 14:23     ` Herbert Xu
2014-04-08 16:48       ` Ben Greear
2014-04-08 17:23         ` Herbert Xu
2014-04-11  1:40           ` David Miller
2014-04-11  1:59             ` Herbert Xu
2014-04-11  2:09               ` Eric Dumazet
2014-04-11  2:13                 ` Herbert Xu
2014-04-11  8:45                   ` David Laight
2014-04-11 16:11                     ` Ben Greear
2014-04-11 16:20                       ` Ben Greear
2014-04-11 16:17                   ` Ben Greear
2014-04-08 16:55   ` Stephen Hemminger
2014-04-08 17:14     ` Joe Perches
2014-04-09  8:50     ` Herbert Xu
2014-04-09 10:10       ` David Laight
2014-04-10 12:59         ` Herbert Xu
2014-04-10 14:50           ` David Laight
2014-04-07  7:53 [0/2] macvlan: Handle broadcasts in " Herbert Xu
2014-04-17  5:45 ` [PATCH 1/2] net: Add __dev_forward_skb Herbert Xu
2014-04-20 22:19   ` David Miller
2014-04-17  5:45 ` [PATCH 2/2] macvlan: Move broadcasts into a work queue Herbert Xu
2014-04-20 22:20   ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.