From patchwork Tue Dec 1 09:13:40 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Kovvuri X-Patchwork-Id: 7734031 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id D4346BEEE1 for ; Tue, 1 Dec 2015 09:14:33 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id CEBEB20575 for ; Tue, 1 Dec 2015 09:14:32 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 175D5204A0 for ; Tue, 1 Dec 2015 09:14:32 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1a3gzK-0003Yc-JT; Tue, 01 Dec 2015 09:12:42 +0000 Received: from mail-pa0-x22a.google.com ([2607:f8b0:400e:c03::22a]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1a3gz0-0003HT-8H for linux-arm-kernel@lists.infradead.org; Tue, 01 Dec 2015 09:12:23 +0000 Received: by pabfh17 with SMTP id fh17so222410141pab.0 for ; Tue, 01 Dec 2015 01:12:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=c1BXBIPa66i5GTPsCcdEEXkMEZBCbrpQGysY27qApok=; b=NY0GymLo+fhCYLSKE0KV/5X/pfQpYANRChoop32Be64xkQdgvnl4/QCDaHuw0xVmhb wjhXSJZRqWvsCIB3pPRZ7Q+Ap0OmdAWlwncm+lsxUcdfZhVgQ6MbVmS6ufCi9d68x1vk QoySOow+gw60oalADutijeanq1y5ZDEC1xoPW003kg0PBWSOKJQqJDkXnMlIe6aK1OA3 V43Bg3QNds1HfugPNoPDWhe5gmNly5ZlG7nCPO2dj7lIeVhjNQVGNhoNTwv2F+sbND1F 3Or5Q6XlK+7iLiJH4g2RY97ivhxaxbkIOtHZ23w0NdvdorVR2xI59+iFYTd+TSz28Hk4 YqUA== X-Received: by 10.66.150.5 with SMTP id ue5mr96992341pab.42.1448961121328; Tue, 01 Dec 2015 01:12:01 -0800 (PST) Received: from localhost.localdomain ([14.140.2.178]) by smtp.googlemail.com with ESMTPSA id o2sm43918819pap.31.2015.12.01.01.11.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 01 Dec 2015 01:12:00 -0800 (PST) From: Sunil Goutham To: netdev@vger.kernel.org Subject: [PATCH 3/6] net: thunderx: Increase transmit queue length Date: Tue, 1 Dec 2015 14:43:40 +0530 Message-Id: <1448961223-41888-4-git-send-email-sunil.kovvuri@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: References: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20151201_011222_548596_571930B7 X-CRM114-Status: GOOD ( 12.54 ) X-Spam-Score: -2.7 (--) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sunil Goutham , Sunil.Goutham@caviumnetworks.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Sunil Goutham Under high transmit rates and with TSO enabled observing fluctuations in TX performance. Seen especially with iperf3 application. Since TSO is taken care at driver level, with 64KB of TSO packets and when window size is also high the rate at which CPU fills in transmit descriptors is much higher than what HW is able to process. Each 64KB TSO packet occupies gets segmented to ~43 1500 byte MTU packets and occupies ~130 descriptors. Hence increasing transmit queue size. Signed-off-by: Sunil Goutham --- drivers/net/ethernet/cavium/thunder/nicvf_queues.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_queues.h b/drivers/net/ethernet/cavium/thunder/nicvf_queues.h index fb4957d..b1e93a9 100644 --- a/drivers/net/ethernet/cavium/thunder/nicvf_queues.h +++ b/drivers/net/ethernet/cavium/thunder/nicvf_queues.h @@ -62,7 +62,7 @@ #define SND_QUEUE_CNT 8 #define CMP_QUEUE_CNT 8 /* Max of RCV and SND qcount */ -#define SND_QSIZE SND_QUEUE_SIZE2 +#define SND_QSIZE SND_QUEUE_SIZE3 #define SND_QUEUE_LEN (1ULL << (SND_QSIZE + 10)) #define MAX_SND_QUEUE_LEN (1ULL << (SND_QUEUE_SIZE6 + 10)) #define SND_QUEUE_THRESH 2ULL @@ -73,7 +73,7 @@ /* Keep CQ and SQ sizes same, if timestamping * is enabled this equation will change. */ -#define CMP_QSIZE CMP_QUEUE_SIZE2 +#define CMP_QSIZE CMP_QUEUE_SIZE3 #define CMP_QUEUE_LEN (1ULL << (CMP_QSIZE + 10)) #define CMP_QUEUE_CQE_THRESH 0 #define CMP_QUEUE_TIMER_THRESH 220 /* 10usec */