Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp4374980pxu; Mon, 21 Dec 2020 10:48:14 -0800 (PST) X-Google-Smtp-Source: ABdhPJzOjIZjMb7y2ASBib4n87IHZ+BY2kispzH03EAEYqT4KLVHZwr/nrw5sXCOzrXJy/ZKKlYC X-Received: by 2002:a17:906:5f92:: with SMTP id a18mr16951139eju.126.1608576493784; Mon, 21 Dec 2020 10:48:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1608576493; cv=none; d=google.com; s=arc-20160816; b=MpV26tpAwyqffL5w+9N7OYz0u5t9j18SwLAEHe+4AKyaw/v3EiNqjIefZfDPz7G4mQ bHkxVVBTQh8XsBGNeN1cHeS1VrtvgmMayyf34bvox35vN2/YkM9ZVM6GoJbSHs8qNvQL pKg/9TB5jCCVj6vuwiraBH26Dhj/6CrviNYoSAuVO9QZt1cbmzqsc4EZAHgEjUjp338O R63DYT0CVEAWo7UbEkVkAMmELRu+WM6rsgLHQLYQ6L3n1tJMZ2apAlNEevG3whMZpJgr gZrPQ5Gjw9J1slwvktZptkSEy8koL/wv6q0LvTeYVj/gqqF4SDLb8dvSfF9hksb3aNZu oouQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=oQlMY7Ul8k7FbzdUXl3Pub6yyYP2cIpbsmHjj4Nz3zE=; b=SAdgqf6oKx+NgYOoldQMo6QIj92ZvXecHf5ht2uOGexqnj2KptIrVGZNajZw1DnGe8 JF0Ak8GKm/h+aAlhj6FO53L5xbSaPR9lzoW3TvPMInUrdH36ZXctOfyn2/89Rh4TQa8e qmCy98c35pfaCfll8zSRV0s1mIZ3G5YGqhUPtoDmvvce2l8w12tQWm9E8l3VCyzn8Bas EFxg+OTDxj0g22jjIr/w9nPD9ALLwpS8V1NLafiHnsGTXcIbrefDJL4G7lrvecn7W+IM yKXCwhSojqzQ4haV/i8PzGpoIae4m7SNbfirD57zBOO+9GFalu8F4hTjAusmWOsUgfrg 3TlA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="m/ey/KxG"; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id lh17si9322238ejb.328.2020.12.21.10.47.50; Mon, 21 Dec 2020 10:48:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="m/ey/KxG"; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727621AbgLUSrS (ORCPT + 99 others); Mon, 21 Dec 2020 13:47:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55592 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727599AbgLUSrP (ORCPT ); Mon, 21 Dec 2020 13:47:15 -0500 Received: from mail-il1-x12d.google.com (mail-il1-x12d.google.com [IPv6:2607:f8b0:4864:20::12d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4FF19C0613D6 for ; Mon, 21 Dec 2020 10:46:35 -0800 (PST) Received: by mail-il1-x12d.google.com with SMTP id k8so9796023ilr.4 for ; Mon, 21 Dec 2020 10:46:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=oQlMY7Ul8k7FbzdUXl3Pub6yyYP2cIpbsmHjj4Nz3zE=; b=m/ey/KxGPQhILwRlm90zFXAlGgzYjSSp0FJ5D9J/C602R/cMvHKt1pDupV4UoWc4IK swaNSTp2o2Diz1SrUY4YFtLrxsYotbr6z2J9Lb+KrV8HMOWnc/CDegd60Q14lkmOMNli WWXc4dFfZBZGJTZ86CYBYxcHiEG2+9IqKvnydBeArdL3Bya4pxoUvBBt8tpQBzf0dWpC lKhHHlAnsWVs/YznGZKOj5ClAAA5lobw+SjGXBnKyABlsgZ/gRR9+rTd+EoP4SKvNxTD j8cI99Z/KAa0uEzXgpm6ClCc0HpGo8zqL/Q25mXT8LjBXi6njvXUT58SjJOE5oruWADj ssGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=oQlMY7Ul8k7FbzdUXl3Pub6yyYP2cIpbsmHjj4Nz3zE=; b=jG+OrqUPBHtQ0CMCBDproVQn/diRPOV24WITALre3S/5/tbJvHmJelSKvvRiDH2KXw TqFgFgfDwJgaPyHKj2QMgiyERSiEAvMb0/nViFZNUbyfmRZY4LWkBJl3yWYliWKCNmj9 j+z76xPK2Zd2/b5HFw8fhK/sb0Gwg+1l9wY2OT5x8LUOkCDOCRBboZbPdVm1KknKXSJE HC0IrppZfAzuG0vFRDE1ZtqVK4o+HnrgSv+VBlv8JM7bc3NiiBMekNAGr1CgGqZanpqH ZckFrwlGsP0XSzbPv5s97fXYS3RbsKnB2w3NEyfJHNUl0w1Ilqpsvvg8ze8ht+NRL9+W Jphg== X-Gm-Message-State: AOAM531QLkZVDP5uQvyjgX5NdtG+wlUuD1FB5ufUXpDDKeqXuy6GMImh yrCrquFac5w2VTq/Djmsf09AGFwliGsrvV47XUT8hw== X-Received: by 2002:a92:9153:: with SMTP id t80mr17458669ild.216.1608576394428; Mon, 21 Dec 2020 10:46:34 -0800 (PST) MIME-Version: 1.0 References: <5664fa0f-aef2-c336-651a-093c9eed23ab@candelatech.com> <765f370d-ce2d-b75a-2dde-87f69ae7c185@candelatech.com> <5d89fd24-f00a-7e70-00ce-83529f13b05e@candelatech.com> <20201218121627.603329b2@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> <9003ea3720a03b4bd1b8abf3d8f645563a58f953.camel@sipsolutions.net> <43a5b45c-955a-22d4-2bf9-dbab852dbb5f@candelatech.com> In-Reply-To: <43a5b45c-955a-22d4-2bf9-dbab852dbb5f@candelatech.com> From: Eric Dumazet Date: Mon, 21 Dec 2020 19:46:23 +0100 Message-ID: Subject: Re: net: tso: add UDP segmentation support: adds regression for ax200 upload To: Ben Greear , Rainer Suhm Cc: Johannes Berg , Jakub Kicinski , Luca Coelho , netdev , linux-wireless@vger.kernel.org, Willem de Bruijn Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On Sat, Dec 19, 2020 at 5:55 PM Ben Greear wrote: > > On 12/19/20 7:18 AM, Johannes Berg wrote: > > On Fri, 2020-12-18 at 12:16 -0800, Jakub Kicinski wrote: > >> On Thu, 17 Dec 2020 12:40:26 -0800 Ben Greear wrote: > >>> On 12/17/20 10:20 AM, Eric Dumazet wrote: > >>>> On Thu, Dec 17, 2020 at 7:13 PM Ben Greear wrote: > >>>>> It is the iwlwifi/mvm logic that supports ax200. > >>>> > >>>> Let me ask again : > >>>> > >>>> I see two different potential call points : > >>>> > >>>> drivers/net/wireless/intel/iwlwifi/pcie/tx.c:1529: > >>>> tso_build_hdr(skb, hdr_page->pos, &tso, data_left, !total_len); > >>>> drivers/net/wireless/intel/iwlwifi/queue/tx.c:427: > >>>> tso_build_hdr(skb, hdr_page->pos, &tso, data_left, !total_len); > >>>> > >>>> To the best of your knowledge, which one would be used in your case ? > >>>> > >>>> Both are horribly complex, I do not want to spend time studying two > >>>> implementations. > >>> > >>> It is the queue/tx.c code that executes on my system, verified with > >>> printk. > >> > >> Not sure why Intel's not on CC here. > > > > Heh :) > > > > Let's also add linux-wireless. > > > >> Luca, is the ax200 TSO performance regression with recent kernel on your > >> radar? > > > > It wasn't on mine for sure, so far. But it's supposed to be Christmas > > vacation, so haven't checked our bug tracker etc. I see Emmanuel was at > > least looking at the bug report, but not sure what else happened yet. > > Not to bitch and moan too much, but even the most basic of testing would > have shown this, how can testing be so poor on the ax200 driver? > > It even shows up with the out-of-tree ax200 driver. > > > Off the top of my head, I don't really see the issue. Does anyone have > > the ability to capture the frames over the air (e.g. with another AX200 > > in monitor mode, load the driver with amsdu_size=3 module parameter to > > properly capture A-MSDUs)? > > I can do that at some point, and likely it could be reproduced with an /n or /ac > AP and those are a lot easier to sniff. > > Thanks, > Ben > > > -- > Ben Greear > Candela Technologies Inc http://www.candelatech.com It seems the problem comes from some skbs reaching the driver with gso_type == 0, meaning skb_is_gso_tcp() is fuzzy. (net/core/tso.c is only one of the skb_is_gso_tcp() users) Local TCP stack should provide either SKB_GSO_TCPV4 or SKB_GSO_TCPV6 for GSO packets. So maybe the issue is coming from traffic coming from a VM through a tun device or something, and our handling of GSO_ROBUST / DODGY never cared about setting SKB_GSO_TCPV4 or SKB_GSO_TCPV6 if not already given by user space ? Or a plain bug somewhere, possibly overwriting gso_type with 0 or garbage...