From patchwork Mon Jun 20 08:21:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= X-Patchwork-Id: 1645293 X-Patchwork-Delegate: zajec5@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=Dbl0F/5g; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=oNYKzV+f; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.openwrt.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LRN7J1YYfz9sFr for ; Mon, 20 Jun 2022 18:27:39 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=p0hg9Fsw8iFXwRmOIdTNfMWgRGwQ0XBGLxtDscRWQn8=; b=Dbl0F/5gkBxyXj UQ8SXK0pPRQxprMOde6hiJ4+gHW5OPI4KZYDt94qSWzoY+HtWdSwR9qKIKsCNePmjhWdyBAeyU7kA jlPnHNcUBm7RG4rVDmmZvZtajtn2r/IFdFo1A+ZDpLRfJONFYeRYI3ldAZDSq+ASGJZtF8n3k7tar GCJRedA8ER1ZqLdlO3Pz0JE7AmZsML5kZKyQcFGDGKcaQvl7T7Xw+LddHX+u4+z4LXUOIaAXpvzUQ J5IyVJmUjL6Vb0O9xi70+QfXThaPd1h428XaKXvRlZorbqOBwAodNuCz/4IJlzOkZjwPUCZFQN5bD bZwLFWN/UXYRYHW5SiYw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o3Cf6-00GrPg-Tu; Mon, 20 Jun 2022 08:21:33 +0000 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1o3Cf3-00GrOL-5q for openwrt-devel@lists.openwrt.org; Mon, 20 Jun 2022 08:21:30 +0000 Received: by mail-ej1-x62c.google.com with SMTP id o7so19574236eja.1 for ; Mon, 20 Jun 2022 01:21:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=EaSkGQI0owJ+vJtgIA/iIOBK1qwak7Za9SFmcPrelaQ=; b=oNYKzV+f0D6F+BLn1awPjuMbC2xYOyWnusOYbo9iR/+DDoJPWfJQDbWhw24DFEwBCw giQuDsufoUoRuUPg+keh+ddgvso2PpNromuQRbxQa2nMVXYFJoySJU9m28OpWVoKUZsQ XVKXZdlSMyjLtR2cP13CbUJ0zfTADzTNSUZlPtTnF4bK6KEBtdvFLR0sJmBQtlxn39gv cDSVHa4a5GHkesc5ifS//C/NMQ/vprFRwYxy+tuSmGSOj7YCP/fg2/RIbrJomUkZt3pG X8BttsU0yh9TZkUnSOKXNFTwY/Sb+6n0GKYDIZLva31n/nUvR4zcUpqqT90CHeY5/YGi DA1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=EaSkGQI0owJ+vJtgIA/iIOBK1qwak7Za9SFmcPrelaQ=; b=fmfwWUoo3ueeMUbD/vRvCi9Q7DSWy2pxI7CpmU+vNhDRNviIeD9sxqRvUCNBF361Be jfIcC8MZFXnUqkzumXRajGAhjzVtfXcuSuXpxbR4eY4+sR1N8FcYAtkpZfpVwEV/DxL1 /kWtrsas7uwrRp2LWCNSlpGnZJkIZ4amvQjjtI8J3Asvw94f5e6CMqS0e4jcJoYA5wpv bmn1fcZV1vnO72NMQBFyBJolS1/kx8Xh21e2sp4si6OXiuttAeDGyEbWh2sXdoVUi3ml kfLlddV2nOU5+tb/J87uY09zPAekxKBs5nmEHR9zLkiphHH59Mv4adHb/oexWnCZ0vsA jiPA== X-Gm-Message-State: AJIora9TMlZ7jkvAmy6hUb1RgtqxHrnCHhJIHSukRuOSktp4vAR1kWdt +LN394EwizifoN/aBPSKV7kzuRIVBjY= X-Google-Smtp-Source: AGRyM1vJaG4qDACHMH79Ga6VoSQPpNuHIP0XmOI8S1TL7GIlBYjOolPCn/ejRCv7+vHTSWbp2cbNjQ== X-Received: by 2002:a17:906:9b96:b0:711:d21c:1b0b with SMTP id dd22-20020a1709069b9600b00711d21c1b0bmr19942559ejc.365.1655713284890; Mon, 20 Jun 2022 01:21:24 -0700 (PDT) Received: from localhost.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id e1-20020a056402148100b004357171dcccsm4823782edv.12.2022.06.20.01.21.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jun 2022 01:21:24 -0700 (PDT) From: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= To: openwrt-devel@lists.openwrt.org Cc: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= Subject: [PATCH] bcm53xx: disable GRO by default at kernel level Date: Mon, 20 Jun 2022 10:21:20 +0200 Message-Id: <20220620082120.11714-1-zajec5@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220620_012129_282153_4B545294 X-CRM114-Status: GOOD ( 12.89 ) X-Spam-Score: 0.1 (/) X-Spam-Report: =?unknown-8bit?q?Spam_detection_software=2C_running_on_the_sy?= =?unknown-8bit?q?stem_=22bombadil=2Einfradead=2Eorg=22=2C?= =?unknown-8bit?q?_has_NOT_identified_this_incoming_email_as_spam=2E__The_ori?= =?unknown-8bit?q?ginal?= =?unknown-8bit?q?_message_has_been_attached_to_this_so_you_can_view_it_or_la?= =?unknown-8bit?q?bel?= =?unknown-8bit?q?_similar_future_email=2E__If_you_have_any_questions=2C_see?= =?unknown-8bit?q?_the_administrator_of_that_system_for_details=2E?= =?unknown-8bit?q?_?= =?unknown-8bit?q?_Content_preview=3A__From=3A_Rafa=C5=82_Mi=C5=82ecki_This_i?= =?unknown-8bit?q?mproves_NAT_masquarade_network?= =?unknown-8bit?q?_performance=2E_An_alternative_to_kernel_change_would_be_ru?= =?unknown-8bit?q?ntime_setup_but_that?= =?unknown-8bit?q?_requires_ethtool_and_identifying_relevant_network_interfac?= =?unknown-8bit?q?e_and_all_related?= =?unknown-8bit?q?_switch_ports_interfaces=2E_?= =?unknown-8bit?q?_?= =?unknown-8bit?q?_Content_analysis_details=3A___=280=2E1_points=2C_5=2E0_req?= =?unknown-8bit?q?uired=29?= =?unknown-8bit?q?_?= =?unknown-8bit?q?_pts_rule_name______________description?= =?unknown-8bit?q?_----_----------------------_------------------------------?= =?unknown-8bit?q?--------------------?= =?unknown-8bit?q?_-0=2E0_RCVD=5FIN=5FDNSWL=5FNONE_____RBL=3A_Sender_listed_a?= =?unknown-8bit?q?t_https=3A//www=2Ednswl=2Eorg/=2C?= =?unknown-8bit?q?_no_trust?= =?unknown-8bit?b?IFsyYTAwOjE0NTA6NDg2NDoyMDowOjA6MDo2MmMgbGlzdGVkIGluXQ==?= =?unknown-8bit?b?IFtsaXN0LmRuc3dsLm9yZ10=?= =?unknown-8bit?q?_-0=2E0_SPF=5FPASS_______________SPF=3A_sender_matches_SPF_?= =?unknown-8bit?q?record?= =?unknown-8bit?q?_0=2E0_SPF=5FHELO=5FNONE__________SPF=3A_HELO_does_not_publ?= =?unknown-8bit?q?ish_an_SPF_Record?= =?unknown-8bit?q?_0=2E0_FREEMAIL=5FFROM__________Sender_email_is_commonly_ab?= =?unknown-8bit?q?used_enduser_mail?= =?unknown-8bit?q?_provider?= =?unknown-8bit?q?_=5Bzajec5=5Bat=5Dgmail=2Ecom=5D?= =?unknown-8bit?q?_0=2E2_FREEMAIL=5FENVFROM=5FEND=5FDIGIT_Envelope-from_freem?= =?unknown-8bit?q?ail_username_ends?= =?unknown-8bit?q?_in_digit?= =?unknown-8bit?q?_=5Bzajec5=5Bat=5Dgmail=2Ecom=5D?= =?unknown-8bit?q?_-0=2E1_DKIM=5FVALID=5FAU__________Message_has_a_valid_DKIM?= =?unknown-8bit?q?_or_DK_signature_from?= =?unknown-8bit?q?_author=27s_domain?= =?unknown-8bit?q?_-0=2E1_DKIM=5FVALID_____________Message_has_at_least_one_v?= =?unknown-8bit?q?alid_DKIM_or_DK_signature?= =?unknown-8bit?q?_0=2E1_DKIM=5FSIGNED____________Message_has_a_DKIM_or_DK_si?= =?unknown-8bit?q?gnature=2C_not_necessarily?= =?unknown-8bit?q?_valid?= =?unknown-8bit?q?_-0=2E1_DKIM=5FVALID=5FEF__________Message_has_a_valid_DKIM?= =?unknown-8bit?q?_or_DK_signature_from?= =?unknown-8bit?q?_envelope-from_domain?= X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org From: Rafał Miłecki This improves NAT masquarade network performance. An alternative to kernel change would be runtime setup but that requires ethtool and identifying relevant network interface and all related switch ports interfaces. Signed-off-by: Rafał Miłecki --- .../600-net-disable-GRO-by-default.patch | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 target/linux/bcm53xx/patches-5.10/600-net-disable-GRO-by-default.patch diff --git a/target/linux/bcm53xx/patches-5.10/600-net-disable-GRO-by-default.patch b/target/linux/bcm53xx/patches-5.10/600-net-disable-GRO-by-default.patch new file mode 100644 index 0000000000..506e6f5b99 --- /dev/null +++ b/target/linux/bcm53xx/patches-5.10/600-net-disable-GRO-by-default.patch @@ -0,0 +1,36 @@ +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= +Date: Mon, 20 Jun 2022 10:01:18 +0200 +Subject: [PATCH] net: disable GRO by default +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In many cases GRO improves network performance however it comes at a +cost of chacksums calculations. In case of slow CPU and missing hardware +csum calculation support GRO can actually decrease network speed. + +On BCM4708 *disabling* GRO results in following NAT masquarade speed +changes: +1. 364 Mb/s → 396 Mb/s (packet steering disabled) +2. 341 Mb/s → 566 Mb/s (packet steering enabled) + +Signed-off-by: Rafał Miłecki +--- + include/linux/netdev_features.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/include/linux/netdev_features.h ++++ b/include/linux/netdev_features.h +@@ -231,10 +231,10 @@ static inline int find_next_netdev_feature(u64 feature, unsigned long start) + #define NETIF_F_UPPER_DISABLES NETIF_F_LRO + + /* changeable features with no special hardware requirements */ +-#define NETIF_F_SOFT_FEATURES (NETIF_F_GSO | NETIF_F_GRO) ++#define NETIF_F_SOFT_FEATURES (NETIF_F_GSO) + + /* Changeable features with no special hardware requirements that defaults to off. */ +-#define NETIF_F_SOFT_FEATURES_OFF NETIF_F_GRO_FRAGLIST ++#define NETIF_F_SOFT_FEATURES_OFF (NETIF_F_GRO_FRAGLIST | NETIF_F_GRO) + + #define NETIF_F_VLAN_FEATURES (NETIF_F_HW_VLAN_CTAG_FILTER | \ + NETIF_F_HW_VLAN_CTAG_RX | \