DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] SIMD checksum
@ 2015-03-12  7:54 Luke Gorrie
  0 siblings, 0 replies; only message in thread
From: Luke Gorrie @ 2015-03-12  7:54 UTC (permalink / raw)
  To: dev

Howdy,

I am writing to share some SIMD (SSE2 and AVX2) IP checksum routines. The
commit log for rte_ip.h said that this was an area of future interest for
DPDK.

Code:
https://github.com/lukego/snabbswitch/blob/ipchecksum-simd/src/lib/checksum.c

Feedback welcome. We are currently reviewing and integrating this
ourselves. Great if it is of use to other people too. The performance seems
to be better and I see this as very valuable for reducing variance between
offloaded and non-offloaded configurations. (I would like to replace NIC
offload with SIMD offload completely to simplify the end-user's mental
model but it remains to be seen if I will get away with this.)

Sorry that this is not sent as a pull request. We use DPDK as a reference
implementation but not as a software dependency. The rest of our
implementation (tests, runtime CPU feature dispatching) would not fit into
the DPDK code base and would have to be ported.

In the perfect universe I would love to see useful routines like this
living in a small repository of their own that everyboy could share. "Small
and stand-alone subroutines for userspace networking." Perhaps we will
collectively break up our big libraries like this over time.

(I do really appreciate the fact that many DPDK library routines are easy
to excerpt. You can see that we are using DPDK's IP checksum as the
non-SIMD fallback, albeit we forked it to fit it into our project.)

Cheers,
-Luke

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2015-03-12  7:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-12  7:54 [dpdk-dev] SIMD checksum Luke Gorrie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).