Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp134178pxt; Wed, 4 Aug 2021 07:35:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz+7eCh/MZAotBIyx1CfzkDP5KfWe87VJmuBSo8kIozxhLBoqPjsWNH+zzEK9P20qlIQzvL X-Received: by 2002:a17:906:a0ce:: with SMTP id bh14mr25193724ejb.434.1628087705058; Wed, 04 Aug 2021 07:35:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628087705; cv=none; d=google.com; s=arc-20160816; b=jW+mm6ST7wCY7TbYijO66x7uvzlcGvUWeELrGbzk8Ir0k/4Q3CTi4gUA73gDAzxA4a w2YzX6581N2dPafubrHL/ZsoV6wUlnB2LXQFZjrztAY0brUEG/umlUuXByDpyyTNwG77 0xpnhEQDspK1uf1JyvbG4sot/Zv+LDGNSEE4zHZzbmQeDA7QJnGTNpq8bkPGAHF6gb6z dJxXa/RBc6wxl93AsO/0CMvUWfvIc2McZL1jIxGF5XMCB3Uif3ZPJ+Z7mZjIJnqCvEOi qQ76C0TLdxJVnsuiKG+MDzuGJBCq1k6Q34T/6BFvSunbvNTGOVkYNYFRTdtXwnWbPjee 2KFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:in-reply-to:cc:to :from:user-agent:references:subject:dkim-signature; bh=6DQs4BJxZy5tiv1i8yLWpSEtKNltR4iXCeNhNIa5+Sg=; b=Slc7VZLfMwKLiHDdAQLhHjlkmy36R6Rww6/3ovond31ntyKtyPhKCpwonga7UzNT9s 6b1kdKD4Q0HC3HEcdhH0JGHv3UXjMd8DWTjtwqoM7Fa7bf/h1+EVozloH4OU55D9XkXh fZN6hwPLpOWzkgvAv7VsJRHqiA+7LjFWD4qBUL2Y0atpVMn+O+lq/xVwbHxkjyPBIcOr 3MClLMPTxcNyzh1sWhygN6VVNZxtCx9oFsYFCMwTYbNwSpRxV3LPcAKN+V2yA41Ho5Wu 5Djng2p0IsiMRII+vvlmqVa1Gm8ecae1pqsGFli+hdBC5/0sTi9gBFZYWN3e2MpMgsOX 507g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.com header.s=amazon201209 header.b=PKOfmbq0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w9si2342088ejk.442.2021.08.04.07.34.39; Wed, 04 Aug 2021 07:35:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-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=@amazon.com header.s=amazon201209 header.b=PKOfmbq0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238300AbhHDNFw (ORCPT + 99 others); Wed, 4 Aug 2021 09:05:52 -0400 Received: from smtp-fw-2101.amazon.com ([72.21.196.25]:53286 "EHLO smtp-fw-2101.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237577AbhHDNFv (ORCPT ); Wed, 4 Aug 2021 09:05:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1628082340; x=1659618340; h=references:from:to:cc:in-reply-to:date:message-id: mime-version:subject; bh=6DQs4BJxZy5tiv1i8yLWpSEtKNltR4iXCeNhNIa5+Sg=; b=PKOfmbq0NUc2Ow3w4cMLlBqRjUCkVlPuPaYbjxINUybqSwRAibfU04Rp uyIkNlpiOxvBRQFzZzuyemTFVQDBWylZX459KTRqOSHU2/nPxpqD0rH5w STMEeeuzOiFsgIYcuXUEpLA1kNNuujODLA8pN0t0yJplZAK4zclxOY3/p Y=; X-IronPort-AV: E=Sophos;i="5.84,294,1620691200"; d="scan'208";a="127110400" Subject: Re: [PATCH net-next 07/21] ethernet, ena: convert to standard XDP stats Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO email-inbound-relay-2c-397e131e.us-west-2.amazon.com) ([10.43.8.2]) by smtp-border-fw-2101.iad2.amazon.com with ESMTP; 04 Aug 2021 13:05:28 +0000 Received: from EX13D28EUC001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198]) by email-inbound-relay-2c-397e131e.us-west-2.amazon.com (Postfix) with ESMTPS id 0804AA0472; Wed, 4 Aug 2021 13:05:24 +0000 (UTC) Received: from u570694869fb251.ant.amazon.com.amazon.com (10.43.161.229) by EX13D28EUC001.ant.amazon.com (10.43.164.4) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Wed, 4 Aug 2021 13:05:04 +0000 References: <20210803163641.3743-1-alexandr.lobakin@intel.com> <20210803163641.3743-8-alexandr.lobakin@intel.com> User-agent: mu4e 1.4.15; emacs 27.1 From: Shay Agroskin To: Alexander Lobakin CC: "David S. Miller" , Jakub Kicinski , Jesse Brandeburg , Lukasz Czapnik , Marcin Kubiak , "Michal Kubiak" , Michal Swiatkowski , Jonathan Corbet , "Netanel Belgazal" , Arthur Kiyanovski , "Guy Tzalik" , Saeed Bishara , Ioana Ciornei , Claudiu Manoil , "Thomas Petazzoni" , Marcin Wojtas , Russell King , Edward Cree , Martin Habets , "Michael S. Tsirkin" , Jason Wang , Alexei Starovoitov , Daniel Borkmann , "Jesper Dangaard Brouer" , John Fastabend , "Andrii Nakryiko" , Martin KaFai Lau , Song Liu , Yonghong Song , KP Singh , Sameeh Jubran , Alexander Duyck , Danielle Ratson , "Ido Schimmel" , Andrew Lunn , "Vladyslav Tarasiuk" , Arnd Bergmann , "Andrew Morton" , Jian Shen , "Petr Vorel" , Dan Murphy , Yangbo Lu , Michal Kubecek , Zheng Yongjun , Heiner Kallweit , YueHaibing , Johannes Berg , , , , , In-Reply-To: <20210803163641.3743-8-alexandr.lobakin@intel.com> Date: Wed, 4 Aug 2021 16:04:59 +0300 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; format=flowed X-Originating-IP: [10.43.161.229] X-ClientProxiedBy: EX13D22UWB004.ant.amazon.com (10.43.161.165) To EX13D28EUC001.ant.amazon.com (10.43.164.4) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Alexander Lobakin writes: > > > > Its 6 XDP per-channel counters align just fine with the standard > stats. > Drop them from the custom Ethtool statistics and expose to the > standard stats infra instead. > > Signed-off-by: Alexander Lobakin > Reviewed-by: Jesse Brandeburg > --- > drivers/net/ethernet/amazon/ena/ena_ethtool.c | 46 > ++++++++++++++++--- > 1 file changed, 40 insertions(+), 6 deletions(-) Hi, thanks for making this patch. I like the idea of splitting stats into a per-queue basis > > diff --git a/drivers/net/ethernet/amazon/ena/ena_ethtool.c > b/drivers/net/ethernet/amazon/ena/ena_ethtool.c > index 851a198cec82..1b6563641575 100644 > --- a/drivers/net/ethernet/amazon/ena/ena_ethtool.c > +++ b/drivers/net/ethernet/amazon/ena/ena_ethtool.c > @@ -90,12 +90,6 @@ static const struct ena_stats > ena_stats_rx_strings[] = { > ENA_STAT_RX_ENTRY(bad_req_id), > ENA_STAT_RX_ENTRY(empty_rx_ring), > ENA_STAT_RX_ENTRY(csum_unchecked), > - ENA_STAT_RX_ENTRY(xdp_aborted), > - ENA_STAT_RX_ENTRY(xdp_drop), > - ENA_STAT_RX_ENTRY(xdp_pass), > - ENA_STAT_RX_ENTRY(xdp_tx), > - ENA_STAT_RX_ENTRY(xdp_invalid), > - ENA_STAT_RX_ENTRY(xdp_redirect), > The ena_stats_rx_strings array is (indirectly) accessed through ena_get_stats() function which is used for both fetching ethtool stats and for sharing the stats with the device in case of an error (through ena_dump_stats_ex() function). The latter use is broken by removing the XDP specific stats from ena_stats_rx_strings array. I can submit an adaptation for the new system later (similar to mlx5) if you prefer thanks, Shay > }; > > static const struct ena_stats ena_stats_ena_com_strings[] = { > @@ -324,6 +318,44 @@ static void ena_get_ethtool_strings(struct > net_device *netdev, > } > } > > +static int ena_get_std_stats_channels(struct net_device > *netdev, u32 sset) > +{ > + const struct ena_adapter *adapter = netdev_priv(netdev); > + > + switch (sset) { > + case ETH_SS_STATS_XDP: > + return adapter->num_io_queues; > + default: > + return -EOPNOTSUPP; > + } > +} > + > +static void ena_get_xdp_stats(struct net_device *netdev, > + struct ethtool_xdp_stats > *xdp_stats) > +{ > + const struct ena_adapter *adapter = netdev_priv(netdev); > + const struct u64_stats_sync *syncp; > + const struct ena_stats_rx *stats; > + struct ethtool_xdp_stats *iter; > + u32 i; > + ... > { > @@ -916,6 +948,8 @@ static const struct ethtool_ops > ena_ethtool_ops = { > .get_tunable = ena_get_tunable, > .set_tunable = ena_set_tunable, > .get_ts_info = ethtool_op_get_ts_info, > + .get_std_stats_channels = ena_get_std_stats_channels, > + .get_xdp_stats = ena_get_xdp_stats, > }; > > void ena_set_ethtool_ops(struct net_device *netdev)