No description
Find a file
Jesper Dangaard Brouer 1c601d829a bpf: cpumap xdp_buff to skb conversion and allocation
This patch makes cpumap functional, by adding SKB allocation and
invoking the network stack on the dequeuing CPU.

For constructing the SKB on the remote CPU, the xdp_buff in converted
into a struct xdp_pkt, and it mapped into the top headroom of the
packet, to avoid allocating separate mem.  For now, struct xdp_pkt is
just a cpumap internal data structure, with info carried between
enqueue to dequeue.

If a driver doesn't have enough headroom it is simply dropped, with
return code -EOVERFLOW.  This will be picked up the xdp tracepoint
infrastructure, to allow users to catch this.

V2: take into account xdp->data_meta

V4:
 - Drop busypoll tricks, keeping it more simple.
 - Skip RPS and Generic-XDP-recursive-reinjection, suggested by Alexei

V5: correct RCU read protection around __netif_receive_skb_core.

V6: Setting TASK_RUNNING vs TASK_INTERRUPTIBLE based on talk with Rik van Riel

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-10-18 12:12:18 +01:00
arch Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-09 20:11:09 -07:00
block
certs
crypto
Documentation Work continues in various areas: 2017-10-11 10:15:01 -07:00
drivers net: ftgmac100: Request clock and set speed 2017-10-18 12:09:06 +01:00
firmware
fs NFS client bugfixes for Linux 4.14 2017-10-09 10:55:37 -07:00
include bpf: cpumap xdp_buff to skb conversion and allocation 2017-10-18 12:12:18 +01:00
init
ipc
kernel bpf: cpumap xdp_buff to skb conversion and allocation 2017-10-18 12:12:18 +01:00
lib once: switch to new jump label API 2017-10-09 20:26:23 -07:00
mm
net bpf: cpumap xdp_buff to skb conversion and allocation 2017-10-18 12:12:18 +01:00
samples bpf: Add -target to clang switch while cross compiling. 2017-10-16 21:04:32 +01:00
scripts Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-05 18:19:22 -07:00
security
sound sound fixes for 4.14-rc4 2017-10-05 10:39:29 -07:00
tools bpf: introduce new bpf cpu map type BPF_MAP_TYPE_CPUMAP 2017-10-18 12:12:18 +01:00
usr
virt
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap Update James Hogan's email address 2017-10-04 17:11:53 -07:00
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Work continues in various areas: 2017-10-11 10:15:01 -07:00
Makefile Linux 4.14-rc4 2017-10-08 20:53:29 -07:00
README

Linux kernel
============

This file was moved to Documentation/admin-guide/README.rst

Please notice that there are several guides for kernel developers and users.
These guides can be rendered in a number of formats, like HTML and PDF.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.