From: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
To: netdev@vger.kernel.org
Cc: Anton Blanchard <anton@samba.org>,
Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
Subject: [PATCH 07/15] ehea: Allocate large enough skbs to avoid partial cacheline DMA writes
Date: Fri, 14 Oct 2011 12:31:04 -0300 [thread overview]
Message-ID: <1318606272-27647-8-git-send-email-cascardo@linux.vnet.ibm.com> (raw)
In-Reply-To: <1318606272-27647-1-git-send-email-cascardo@linux.vnet.ibm.com>
From: Anton Blanchard <anton@samba.org>
The ehea adapter has a mode where it will avoid partial cacheline DMA
writes on receive by always padding packets to fall on a cacheline
boundary.
Unfortunately we currently aren't allocating enough space for a full
ethernet MTU packet to be rounded up, so this optimisation doesn't hit.
It's unfortunate that the next largest packet size exposed by the
hypervisor interface is 2kB, meaning our skb allocation comes out of a
4kB SLAB. However the performance increase due to this optimisation is
quite large and my TCP stream numbers increase from 900MB to 1000MB/sec.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
---
drivers/net/ethernet/ibm/ehea/ehea.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/ibm/ehea/ehea.h b/drivers/net/ethernet/ibm/ehea/ehea.h
index 8e7c594..7aa47d8 100644
--- a/drivers/net/ethernet/ibm/ehea/ehea.h
+++ b/drivers/net/ethernet/ibm/ehea/ehea.h
@@ -82,7 +82,7 @@
#define EHEA_SG_RQ3 0
#define EHEA_MAX_PACKET_SIZE 9022 /* for jumbo frames */
-#define EHEA_RQ2_PKT_SIZE 1522
+#define EHEA_RQ2_PKT_SIZE 2048
#define EHEA_L_PKT_SIZE 256 /* low latency */
#define MAX_LRO_DESCRIPTORS 8
@@ -93,7 +93,7 @@
#define EHEA_PD_ID 0xaabcdeff
#define EHEA_RQ2_THRESHOLD 1
-#define EHEA_RQ3_THRESHOLD 9 /* use RQ3 threshold of 1522 bytes */
+#define EHEA_RQ3_THRESHOLD 4 /* use RQ3 threshold of 2048 bytes */
#define EHEA_SPEED_10G 10000
#define EHEA_SPEED_1G 1000
--
1.7.4.4
next prev parent reply other threads:[~2011-10-14 15:31 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-14 15:30 EHEA updates Thadeu Lima de Souza Cascardo
2011-10-14 15:30 ` [PATCH 01/15] ehea: Remove NETIF_F_LLTX Thadeu Lima de Souza Cascardo
2011-10-14 15:30 ` [PATCH 02/15] ehea: Update multiqueue support Thadeu Lima de Souza Cascardo
2011-10-14 15:31 ` [PATCH 03/15] ehea: Remove force_irq logic in napi poll routine Thadeu Lima de Souza Cascardo
2011-10-14 15:31 ` [PATCH 04/15] ehea: Remove num_tx_qps module option Thadeu Lima de Souza Cascardo
2011-10-14 15:31 ` [PATCH 05/15] ehea: Dont check NETIF_F_TSO in TX path Thadeu Lima de Souza Cascardo
2011-10-14 15:31 ` [PATCH 06/15] ehea: Add vlan_features Thadeu Lima de Souza Cascardo
2011-10-14 15:31 ` Thadeu Lima de Souza Cascardo [this message]
2011-10-14 15:31 ` [PATCH 08/15] ehea: Simplify ehea_xmit2 and ehea_xmit3 Thadeu Lima de Souza Cascardo
2011-10-14 15:31 ` [PATCH 09/15] ehea: Merge swqe2 TSO and non TSO paths Thadeu Lima de Souza Cascardo
2011-10-14 15:31 ` [PATCH 10/15] ehea: Simplify type 3 transmit routine Thadeu Lima de Souza Cascardo
2011-10-14 15:31 ` [PATCH 11/15] ehea: Remove some unused definitions Thadeu Lima de Souza Cascardo
2011-10-14 15:31 ` [PATCH 12/15] ehea: Add 64bit statistics Thadeu Lima de Souza Cascardo
2011-10-14 15:31 ` [PATCH 13/15] ehea: Remove LRO support Thadeu Lima de Souza Cascardo
2011-10-14 15:31 ` [PATCH 14/15] ehea: Add GRO support Thadeu Lima de Souza Cascardo
2011-10-14 15:31 ` [PATCH 15/15] ehea: Remove unused tcp_end field in send WQ Thadeu Lima de Souza Cascardo
2011-10-17 23:06 ` EHEA updates David Miller
-- strict thread matches above, loose matches on Subject: below --
2011-05-12 0:52 [PATCH 00/15] ehea updates v2 Anton Blanchard
2011-05-12 0:52 ` [PATCH 07/15] ehea: Allocate large enough skbs to avoid partial cacheline DMA writes Anton Blanchard
2011-05-12 2:52 ` Ben Hutchings
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=1318606272-27647-8-git-send-email-cascardo@linux.vnet.ibm.com \
--to=cascardo@linux.vnet.ibm.com \
--cc=anton@samba.org \
--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).