From patchwork Thu Aug 19 11:59:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maciej Fijalkowski X-Patchwork-Id: 1518636 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org (client-ip=140.211.166.137; helo=smtp4.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org; receiver=) Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Gr3cq4vh1z9sRf for ; Thu, 19 Aug 2021 22:15:23 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 3E373403E4; Thu, 19 Aug 2021 12:15:21 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ItXe9s2VIjEr; Thu, 19 Aug 2021 12:15:17 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp4.osuosl.org (Postfix) with ESMTP id 30A2F407A7; Thu, 19 Aug 2021 12:15:17 +0000 (UTC) X-Original-To: intel-wired-lan@lists.osuosl.org Delivered-To: intel-wired-lan@lists.osuosl.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id D36181BF280 for ; Thu, 19 Aug 2021 12:15:15 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id CE1D1606C8 for ; Thu, 19 Aug 2021 12:15:15 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rvZdvAp1dIWj for ; Thu, 19 Aug 2021 12:15:14 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by smtp3.osuosl.org (Postfix) with ESMTPS id 84AE360637 for ; Thu, 19 Aug 2021 12:15:14 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10080"; a="277560936" X-IronPort-AV: E=Sophos;i="5.84,334,1620716400"; d="scan'208";a="277560936" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Aug 2021 05:15:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,334,1620716400"; d="scan'208";a="532195059" Received: from ranger.igk.intel.com ([10.102.21.164]) by fmsmga002.fm.intel.com with ESMTP; 19 Aug 2021 05:15:10 -0700 From: Maciej Fijalkowski To: intel-wired-lan@lists.osuosl.org Date: Thu, 19 Aug 2021 13:59:55 +0200 Message-Id: <20210819120004.34392-1-maciej.fijalkowski@intel.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [Intel-wired-lan] [PATCH v7 intel-next 0/9] XDP_TX improvements for ice X-BeenThere: intel-wired-lan@osuosl.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Wired Ethernet Linux Kernel Driver Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: joamaki@gmail.com, alexandr.lobakin@intel.com, netdev@vger.kernel.org, toke@redhat.com, bjorn@kernel.org, kuba@kernel.org, bpf@vger.kernel.org, davem@davemloft.net, magnus.karlsson@intel.com Errors-To: intel-wired-lan-bounces@osuosl.org Sender: "Intel-wired-lan" I didn't realize that on v6 I didn't have CONFIG_NET_SWITCHDEV option set in the kernel config. I removed ice_eswitch_remap_ring but didn't adjust the q_vector's ring pointer to the new Rx/Tx union. Hope that it's the last time of embarrassment :) v6->v7: * fix compilation issues when CONFIG_NET_SWITCHDEV=y v5->v6: * rebase set on Tony's dev-queue * adjust switchdev code to ring split * compile with W=1 C=2 and fix outstanding kdoc issues v4->v5: * fix issues pointed by lkp; variables used for updating ring stats could be un-inited * s/ice_ring/ice_rx_ring; it looks now symmetric given that we have ice_tx_ring struct dedicated for Tx ring * go through the code and use ice_for_each_* macros; it was spotted by Brett that there was a place around that code that this set is touching that was not using the ice_for_each_txq. Turned out that there were more such places * take care of coalesce related code; carry the info about type of ring container in ice_ring_container * pull out getting rid of @ring_active onto separate patch, as suggested by Brett v3->v4: * fix lkp issues; v2->v3: * improve XDP_TX in a proper way * split ice_ring * propagate XDP ring pointer to Rx ring v1->v2: * try to improve XDP_TX processing v6 : https://lore.kernel.org/bpf/20210818135916.25007-1-maciej.fijalkowski@intel.com/ v5 : https://lore.kernel.org/bpf/20210818075256.GA16780@ranger.igk.intel.com/ v4 : https://lore.kernel.org/bpf/20210806095539.34423-1-maciej.fijalkowski@intel.com/ v3 : https://lore.kernel.org/bpf/20210805230046.28715-1-maciej.fijalkowski@intel.com/ v2 : https://lore.kernel.org/bpf/20210705164338.58313-1-maciej.fijalkowski@intel.com/ v1 : https://lore.kernel.org/bpf/20210601113236.42651-1-maciej.fijalkowski@intel.com/ Thanks! Maciej Maciej Fijalkowski (9): ice: remove ring_active from ice_ring ice: move ice_container_type onto ice_ring_container ice: split ice_ring onto Tx/Rx separate structs ice: unify xdp_rings accesses ice: do not create xdp_frame on XDP_TX ice: propagate xdp_ring onto rx_ring ice: optimize XDP_TX workloads ice: introduce XDP_TX fallback path ice: make use of ice_for_each_* macros drivers/net/ethernet/intel/ice/ice.h | 41 +++- drivers/net/ethernet/intel/ice/ice_arfs.c | 2 +- drivers/net/ethernet/intel/ice/ice_base.c | 59 +++--- drivers/net/ethernet/intel/ice/ice_base.h | 8 +- drivers/net/ethernet/intel/ice/ice_dcb_lib.c | 9 +- drivers/net/ethernet/intel/ice/ice_dcb_lib.h | 10 +- drivers/net/ethernet/intel/ice/ice_eswitch.c | 35 ++-- drivers/net/ethernet/intel/ice/ice_eswitch.h | 4 +- drivers/net/ethernet/intel/ice/ice_ethtool.c | 95 +++++---- drivers/net/ethernet/intel/ice/ice_lib.c | 92 +++++---- drivers/net/ethernet/intel/ice/ice_lib.h | 6 +- drivers/net/ethernet/intel/ice/ice_main.c | 145 +++++++++----- drivers/net/ethernet/intel/ice/ice_ptp.c | 2 +- drivers/net/ethernet/intel/ice/ice_ptp.h | 4 +- drivers/net/ethernet/intel/ice/ice_trace.h | 28 +-- drivers/net/ethernet/intel/ice/ice_txrx.c | 183 +++++++++++------- drivers/net/ethernet/intel/ice/ice_txrx.h | 126 +++++++----- drivers/net/ethernet/intel/ice/ice_txrx_lib.c | 98 ++++++++-- drivers/net/ethernet/intel/ice/ice_txrx_lib.h | 14 +- .../net/ethernet/intel/ice/ice_virtchnl_pf.c | 2 +- drivers/net/ethernet/intel/ice/ice_xsk.c | 70 ++++--- drivers/net/ethernet/intel/ice/ice_xsk.h | 20 +- 22 files changed, 629 insertions(+), 424 deletions(-) Acked-by: Magnus Karlsson