All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Ciara Loftus <ciara.loftus@intel.com>
Cc: dev@dpdk.org, xiaolong.ye@intel.com, magnus.karlsson@intel.com
Subject: Re: [dpdk-dev] [PATCH] net/af_xdp: optimisations to improve packet loss
Date: Tue, 16 Jun 2020 20:42:16 -0700	[thread overview]
Message-ID: <20200616204216.35e362b3@hermes.lan> (raw)
In-Reply-To: <20200612141746.9450-1-ciara.loftus@intel.com>

On Fri, 12 Jun 2020 14:17:46 +0000
Ciara Loftus <ciara.loftus@intel.com> wrote:

> This commit makes some changes to the AF_XDP PMD in an effort to improve
> its packet loss characteristics.
> 
> 1. In the case of failed transmission due to inability to reserve a tx
> descriptor, the PMD now pulls from the completion ring, issues a syscall
> in which the kernel attempts to complete outstanding tx operations, then
> tries to reserve the tx descriptor again. Prior to this we dropped the
> packet after the syscall and didn't try to re-reserve.
> 
> 2. During completion ring cleanup, always pull as many entries as possible
> from the ring as opposed to the batch size or just how many packets
> we're going to attempt to send. Keeping the completion ring emptier should
> reduce failed transmissions in the kernel, as the kernel requires space in
> the completion ring to successfully tx.
> 
> 3. Size the fill ring as twice the receive ring size which may help reduce
> allocation failures in the driver.
> 
> With these changes, a benchmark which measured the packet rate at which
> 0.01% packet loss could be reached improved from ~0.1G to ~3Gbps.
> 
> Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>

You might want to add the ability to emulate a tx_free threshold
by pulling more completions earlier.

  parent reply	other threads:[~2020-06-17  3:42 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-12 14:17 [dpdk-dev] [PATCH] net/af_xdp: optimisations to improve packet loss Ciara Loftus
2020-06-17  2:34 ` Ye Xiaolong
2020-06-17  3:42 ` Stephen Hemminger [this message]
2020-06-23 14:50   ` Loftus, Ciara

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=20200616204216.35e362b3@hermes.lan \
    --to=stephen@networkplumber.org \
    --cc=ciara.loftus@intel.com \
    --cc=dev@dpdk.org \
    --cc=magnus.karlsson@intel.com \
    --cc=xiaolong.ye@intel.com \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.