XDP for idpf is currently 6 chapters: * convert Rx to libeth; * convert Tx and stats to libeth; * generic XDP and XSk code changes (you are here); * generic XDP and XSk code additions; * actual XDP for idpf via new libeth_xdp; * XSk for idpf (via ^). Part III does the following: * improve &xdp_buff_xsk cacheline placement; * does some cleanups with marking read-only bpf_prog and xdp_buff arguments const for some generic functions; * allows attaching already registered XDP memory model to RxQ info; * makes system percpu page_pools valid XDP memory models; * starts using netmems in the XDP core code (1 function); * allows mixing pages from several page_pools within one XDP frame; * optimizes &xdp_frame layout and removes no-more-used field. Bullets 4-6 are the most important ones. All of them are prereqs to libeth_xdp. Alexander Lobakin (9): xsk: align &xdp_buff_xsk harder bpf, xdp: constify some bpf_prog * function arguments xdp, xsk: constify read-only arguments of some static inline helpers xdp: allow attaching already registered memory model to xdp_rxq_info xsk: allow attaching XSk pool via xdp_rxq_info_reg_mem_model() netmem: add a couple of page helper wrappers page_pool: make page_pool_put_page_bulk() handle array of netmems page_pool: allow mixing PPs within one bulk xdp: get rid of xdp_frame::mem.id Toke Høiland-Jørgensen (1): xdp: register system page pool as an XDP memory model include/net/page_pool/types.h | 6 +- include/linux/bpf.h | 12 +- include/linux/filter.h | 9 +- include/linux/netdevice.h | 7 +- include/linux/skbuff.h | 2 +- include/net/netmem.h | 78 +++++++++++- include/net/xdp.h | 93 ++++++++++---- include/net/xdp_sock_drv.h | 11 +- include/net/xsk_buff_pool.h | 4 +- .../net/ethernet/freescale/dpaa/dpaa_eth.c | 2 +- drivers/net/veth.c | 4 +- kernel/bpf/cpumap.c | 2 +- kernel/bpf/devmap.c | 8 +- net/bpf/test_run.c | 4 +- net/core/dev.c | 20 ++- net/core/filter.c | 41 +++--- net/core/page_pool.c | 79 ++++++++---- net/core/skbuff.c | 2 +- net/core/xdp.c | 118 +++++++++++------- 19 files changed, 348 insertions(+), 154 deletions(-) ---