From nobody Thu Nov 28 17:43:01 2024 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 29EDABE57; Mon, 30 Sep 2024 03:44:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=13.77.154.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727667886; cv=none; b=HRZwFsc4UHfIGmkSAybm8YcKHHxmuoSW6eKMWq4CyoidnbruRYISYa1eRKThI3KuMT/DIt4grnngLLigmSn6Bt8BrofgUDZxNqQYedVD8JK31sXqRztZTykIyN4yzAn+R9g+ApyvpE3cfysJLS+oQVSYb1kpW/+/pqMARrh7cZk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727667886; c=relaxed/simple; bh=WUanhzUipgf9Xx58h9HGW7RxWIfMBupKERxcEE3dxn8=; h=From:To:Cc:Subject:Date:Message-Id; b=qHCGuyp3w2NA3SmuEl6QNclAbImzm8SGK1DWPoIMXRa7Lm38NVH9hnY2vpHMDptXzk9jnoT9/ARBA+HxJWiQjy0Bh8Kf6NYGWYEZjuwOR/apoWxhHh6K1oOXCZrpVtbzODLUzdtdR8Q50ALQHRRpz3wXvB9rOrqllRF0b6wQiKY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com; spf=pass smtp.mailfrom=linux.microsoft.com; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b=ozGwaJTN; arc=none smtp.client-ip=13.77.154.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b="ozGwaJTN" Received: by linux.microsoft.com (Postfix, from userid 1134) id 4068020C8BCA; Sun, 29 Sep 2024 20:44:38 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 4068020C8BCA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1727667878; bh=nTZTPPBLPVY/ck3Jvqe99y3y3QEEBrVsRAXs8TQJSF0=; h=From:To:Cc:Subject:Date:From; b=ozGwaJTNm/G+K4u7j3R+vd6UKIgdoGL0ATTFWoJvGDEe85cvg7A5b/4LEKjwnlxud liEpGJI0I1jY9rzIzJzzrBwIFvShvduMzaNQanQ6GGOTD6HLJ9EGD9OWuBCOf5kqvc 4cQzSWROlPSMO+TEIXi4oY6P9VyMmZ79GXzwjZdU= From: Shradha Gupta To: linux-hyperv@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org Cc: Shradha Gupta , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Long Li , Simon Horman , Konstantin Taranov , Souradeep Chakrabarti , Erick Archer , Pavan Chebbi , Ahmed Zaki , Colin Ian King , Shradha Gupta Subject: [PATCH net-next RESEND] net: mana: Increase the DEF_RX_BUFFERS_PER_QUEUE to 1024 Date: Sun, 29 Sep 2024 20:44:35 -0700 Message-Id: <1727667875-29908-1-git-send-email-shradhagupta@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Through some experiments, we found out that increasing the default RX buffers count from 512 to 1024, gives slightly better throughput and significantly reduces the no_wqe_rx errs on the receiver side. Along with these, other parameters like cpu usage, retrans seg etc also show some improvement with 1024 value. Following are some snippets from the experiments ntttcp tests with 512 Rx buffers Reviewed-by: Haiyang Zhang Reviewed-by: Pavan Chebbi --------------------------------------- connections| throughput| no_wqe errs| --------------------------------------- 1 | 40.93Gbps | 123,211 | 16 | 180.15Gbps | 190,120 | 128 | 180.20Gbps | 173,508 | 256 | 180.27Gbps | 189,884 | ntttcp tests with 1024 Rx buffers --------------------------------------- connections| throughput| no_wqe errs| --------------------------------------- 1 | 44.22Gbps | 19,864 | 16 | 180.19Gbps | 4,430 | 128 | 180.21Gbps | 2,560 | 256 | 180.29Gbps | 1,529 | So, increasing the default RX buffers per queue count to 1024 Signed-off-by: Shradha Gupta Reviewed-by: Haiyang Zhang --- include/net/mana/mana.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/net/mana/mana.h b/include/net/mana/mana.h index f2a5200d8a0f..9b0faa24b758 100644 --- a/include/net/mana/mana.h +++ b/include/net/mana/mana.h @@ -43,7 +43,7 @@ enum TRI_STATE { * size beyond this value gets rejected by __alloc_page() call. */ #define MAX_RX_BUFFERS_PER_QUEUE 8192 -#define DEF_RX_BUFFERS_PER_QUEUE 512 +#define DEF_RX_BUFFERS_PER_QUEUE 1024 #define MIN_RX_BUFFERS_PER_QUEUE 128 =20 /* This max value for TX buffers is derived as the maximum allocatable --=20 2.34.1