Backort of "Handle multiple received packets at each stage"

Submitted by Andrey Ryabinin on Sept. 10, 2018, 3:39 p.m.

Details

Reviewer None
Submitted Sept. 10, 2018, 3:39 p.m.
Last Updated Sept. 11, 2018, 1:42 a.m.
Revision 1

Cover Letter

Backport of 2d1b138505dc29bbd7ac5f82f5a10635ff48bddb ("Handle multiple received packets at each stage")
The main differencies from upstream is that our NF_HOOK() doesn't have 'struct net *net'
argument, so I simply dropped it.
The other thing is that we don't have generic XDP, so the hunk realted
to this feature ifdef'ed out in patch "net: core: Another step of skb receive list processing".

Andrey Ryabinin (1):
  net/skbuff: Add ->list to struct sk_buff;

Edward Cree (9):
  net: core: trivial netif_receive_skb_list() entry point
  sfc: batch up RX delivery
  net: core: unwrap skb list receive slightly further
  net: core: Another step of skb receive list processing
  net: core: another layer of lists, around PF_MEMALLOC skb handling
  net: core: propagate SKB lists through packet_type lookup
  net: ipv4: listified version of ip_rcv
  net: ipv4: listify ip_rcv_finish
  net: don't bother calling list RX functions on empty lists

Vlastimil Babka (1):
  mm: introduce memalloc_noreclaim_{save,restore}

 drivers/net/ethernet/sfc/efx.c        |  12 +++
 drivers/net/ethernet/sfc/net_driver.h |   3 +
 drivers/net/ethernet/sfc/rx.c         |   7 +-
 include/linux/list.h                  |  30 ++++++
 include/linux/netdevice.h             |   4 +
 include/linux/netfilter.h             |  23 +++++
 include/linux/sched/mm.h              |  12 +++
 include/linux/skbuff.h                |   1 +
 include/net/ip.h                      |   2 +
 include/trace/events/net.h            |   7 ++
 mm/page_alloc.c                       |   6 +-
 mm/vmscan.c                           |  15 ++-
 net/core/dev.c                        | 175 +++++++++++++++++++++++++++++++++-
 net/ipv4/af_inet.c                    |   1 +
 net/ipv4/ip_input.c                   | 125 +++++++++++++++++++++---
 15 files changed, 397 insertions(+), 26 deletions(-)
  

Revisions