From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A43CFC4707F for ; Tue, 25 May 2021 07:28:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7D8C361401 for ; Tue, 25 May 2021 07:28:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231641AbhEYH3c (ORCPT ); Tue, 25 May 2021 03:29:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36000 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231263AbhEYH33 (ORCPT ); Tue, 25 May 2021 03:29:29 -0400 Received: from plekste.mt.lv (bute.mt.lv [IPv6:2a02:610:7501:2000::195]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A2FFAC061574; Tue, 25 May 2021 00:28:00 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=bute.mt.lv) by plekste.mt.lv with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1llRTk-0006jO-7Y; Tue, 25 May 2021 10:27:52 +0300 MIME-Version: 1.0 Date: Tue, 25 May 2021 10:27:52 +0300 From: Gatis Peisenieks To: Chris Snook Cc: "David S. Miller" , Jakub Kicinski , Heiner Kallweit , jesse.brandeburg@intel.com, dchickles@marvell.com, tully@mikrotik.com, Eric Dumazet , netdev , LKML Subject: Re: [PATCH net-next] atl1c: add 4 RX/TX queue support for Mikrotik 10/25G NIC In-Reply-To: References: <20210524191115.2760178-1-gatis@mikrotik.com> User-Agent: Roundcube Webmail/1.4.11 Message-ID: <1b5e9b39d1d0b55c6557e7fb0f571e62@mikrotik.com> X-Sender: gatis@mikrotik.com Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Chris, thank you for taking a look at this! In my experience L4 hashing (adding TCP/UDP ports to the hash to determine rx queue) can cause problems with fragmented packets when packet parser ignores the "More Fragments" and/or "Fragment Offset" fields of the IPv4 header. Only the first fragment contains the ports, so if parser blindly assumes ports to be at start of L4 offset, then packets belonging to same connection get scattered among the rx queues which is not good for performance. Mikrotik 10/25G NIC RX parser stops at L3 if it sees any of those set. Essentially it falls back to L2/L3 hashing for fragmented packets. So it is ok in that regard. On 2021-05-24 22:52, Chris Snook wrote: > Is the L4 part of that hash configurable? That sort of thing tends to > cause performance problems for fragmenting workloads, such as NFS over > UDP. > > - Chris >