DPDK patches and discussions
 help / color / mirror / Atom feed
From: Luke Gorrie <luke@snabb.co>
To: "dev@dpdk.org" <dev@dpdk.org>
Subject: [dpdk-dev] SIMD checksum
Date: Thu, 12 Mar 2015 08:54:46 +0100
Message-ID: <CAA2XHbchOrjg0emViDV2CsZpXNF9xQ+bk4Fd6z8FR_JJawRukA@mail.gmail.com> (raw)

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

                 reply	other threads:[~2015-03-12  7:54 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAA2XHbchOrjg0emViDV2CsZpXNF9xQ+bk4Fd6z8FR_JJawRukA@mail.gmail.com \
    --to=luke@snabb.co \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git