netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Willy Tarreau <w@1wt.eu>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, Willy Tarreau <w@1wt.eu>
Subject: [PATCH net-next 0/6] mvneta driver performance improvements
Date: Sun, 12 Jan 2014 12:24:02 +0100	[thread overview]
Message-ID: <1389525848-1814-1-git-send-email-w@1wt.eu> (raw)

Hi,

this patch series implements several performance improvements on the
mvneta driver.

  - The first 3 patches are essentially cleanups, code deduplication
    and minor optimizations for not re-fetching a value we already have
    (status).

  - patch 4 changes the prefetch of Rx descriptor from current one to
    next one. In benchmarks, it results in about 1% general performance
    increase on HTTP traffic, probably because prefetching the current
    descriptor does not leave enough time between the start of prefetch
    and its usage.

  - patch 5 implements support for build_skb() on Rx path. The driver
    now preallocates frags instead of skbs and builds an skb just before
    delivering it. This results in a 2% performance increase on HTTP
    traffic, and up to 5% on small packet Rx rate.

  - patch 6 implements rx_copybreak for small packets (256 bytes). It
    avoids a dma_map_single()/dma_unmap_single() and increases the Rx
    rate by 16.4%, from 486kpps to 573kpps. Further improvements up to
    711kpps are possible depending how the DMA is used.

This patch series depends on the previous series of fixes and is only
for the net-next tree.

Thanks!
Willy

---

Willy Tarreau (6):
  net: mvneta: remove tests for impossible cases in the tx_done path
  net: mvneta: factor rx refilling code
  net: mvneta: simplify access to the rx descriptor status
  net: mvneta: prefetch next rx descriptor instead of current one
  net: mvneta: convert to build_skb()
  net: mvneta: implement rx_copybreak

 drivers/net/ethernet/marvell/mvneta.c | 152 +++++++++++++++++++++-------------
 1 file changed, 95 insertions(+), 57 deletions(-)

-- 
1.7.12.2.21.g234cd45.dirty

             reply	other threads:[~2014-01-12 11:24 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-12 11:24 Willy Tarreau [this message]
2014-01-12 11:24 ` [PATCH net-next 1/6] net: mvneta: remove tests for impossible cases in the tx_done path Willy Tarreau
2014-01-12 11:24 ` [PATCH net-next 2/6] net: mvneta: factor rx refilling code Willy Tarreau
2014-01-12 11:24 ` [PATCH net-next 3/6] net: mvneta: simplify access to the rx descriptor status Willy Tarreau
2014-01-12 11:24 ` [PATCH net-next 4/6] net: mvneta: prefetch next rx descriptor instead of current one Willy Tarreau
2014-01-12 11:24 ` [PATCH net-next 5/6] net: mvneta: convert to build_skb() Willy Tarreau
2014-01-12 11:24 ` [PATCH net-next 6/6] net: mvneta: implement rx_copybreak Willy Tarreau
2014-01-13 10:13   ` David Laight
2014-01-13 10:49     ` Willy Tarreau
2014-01-15  1:00 ` [PATCH net-next 0/6] mvneta driver performance improvements David Miller
2014-01-15  7:25   ` Willy Tarreau
2014-01-15  7:48   ` Willy Tarreau
2014-01-15  8:05     ` David Miller
2014-01-15  8:18       ` Willy Tarreau

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=1389525848-1814-1-git-send-email-w@1wt.eu \
    --to=w@1wt.eu \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).