Magnus Karlsson 3106c580fb i40e: Use batched xsk Tx interfaces to increase performance
Use the new batched xsk interfaces for the Tx path in the i40e driver
to improve performance. On my machine, this yields a throughput
increase of 4% for the l2fwd sample app in xdpsock. If we instead just
look at the Tx part, this patch set increases throughput with above
20% for Tx.

Note that I had to explicitly loop unroll the inner loop to get to
this performance level, by using a pragma. It is honored by both clang
and gcc and should be ignored by versions that do not support
it. Using the -funroll-loops compiler command line switch on the
source file resulted in a loop unrolling on a higher level that
lead to a performance decrease instead of an increase.

Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/1605525167-14450-6-git-send-email-magnus.karlsson@gmail.com
2020-11-17 22:07:40 +01:00
..
2020-10-30 14:51:01 -07:00
2020-10-16 12:21:15 -07:00
2020-10-19 14:28:30 -07:00
2020-10-28 19:12:03 +01:00
2020-10-15 14:43:29 -07:00
2020-10-12 13:26:49 -07:00
2020-10-26 12:40:02 +01:00
2020-10-14 15:56:58 -07:00
2020-11-06 12:54:00 -08:00
2020-11-05 11:32:03 -08:00
2020-10-24 10:33:08 -07:00
2020-10-13 12:12:44 -07:00
2020-10-23 10:54:13 -07:00
2020-10-16 12:21:15 -07:00
2020-10-24 10:39:22 -07:00
2020-10-15 14:43:29 -07:00
2020-10-24 10:39:22 -07:00
2020-09-28 12:17:36 +02:00
2020-10-14 15:56:58 -07:00
2020-10-30 11:04:11 -07:00
2020-10-20 10:36:41 -07:00
2020-10-25 11:12:31 -07:00
2020-11-05 07:10:50 -07:00
2020-11-02 09:32:46 -08:00
2020-09-25 06:12:15 +02:00
2020-10-22 12:41:00 -07:00
2020-10-27 19:23:04 +01:00
2020-10-24 10:33:08 -07:00
2020-10-24 10:33:08 -07:00
2020-10-22 12:56:33 -07:00
2020-10-24 10:39:22 -07:00
2020-10-22 12:58:21 -07:00
2020-10-21 11:22:08 -07:00
2020-11-06 15:24:12 -08:00
2020-10-01 22:59:55 +02:00
2020-11-08 11:28:08 -08:00
2020-11-07 15:56:37 +01:00
2020-10-31 14:41:48 -07:00
2020-10-23 11:00:57 -07:00
2020-10-24 10:33:08 -07:00