Merge branch 'ndo_xdp_xmit-cleanup'
authorAlexei Starovoitov <ast@kernel.org>
Sun, 3 Jun 2018 15:11:35 +0000 (08:11 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Sun, 3 Jun 2018 15:11:36 +0000 (08:11 -0700)
commitea9916ea3ed98d0a1f67f5cbe8ed8ae28e37f8c8
tree98d1d3475a3b6ca67e1f6eaa65fb4774fa1950cd
parent69b450789136f70005f8d36315d875158ea430cf
parentc1ece6b245bd12a57124da78abafbf8a511394d6
Merge branch 'ndo_xdp_xmit-cleanup'

Jesper Dangaard Brouer says:

====================
As I mentioned in merge commit 10f678683e4 ("Merge branch 'xdp_xmit-bulking'")
I plan to change the API for ndo_xdp_xmit once more, by adding a flags
argument, which is done in this patchset.

I know it is late in the cycle (currently at rc7), but it would be
nice to avoid changing NDOs over several kernel releases, as it is
annoying to vendors and distro backporters, but it is not strictly
UAPI so it is allowed (according to Alexei).

The end-goal is getting rid of the ndo_xdp_flush operation, as it will
make it possible for drivers to implement a TXQ synchronization mechanism
that is not necessarily derived from the CPU id (smp_processor_id).

This patchset removes all callers of the ndo_xdp_flush operation, but
it doesn't take the last step of removing it from all drivers.  This
can be done later, or I can update the patchset on request.

Micro-benchmarks only show a very small performance improvement, for
map-redirect around ~2 ns, and for non-map redirect ~7 ns.  I've not
benchmarked this with CONFIG_RETPOLINE, but the performance benefit
should be more visible given we end-up removing an indirect call.

---
V2: Updated based on feedback from Song Liu <songliubraving@fb.com>
====================

Signed-off-by: Alexei Starovoitov <ast@kernel.org>