Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 64133C4332F for ; Thu, 25 Nov 2021 20:44:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243639AbhKYUrl (ORCPT ); Thu, 25 Nov 2021 15:47:41 -0500 Received: from mga01.intel.com ([192.55.52.88]:61986 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237103AbhKYUpk (ORCPT ); Thu, 25 Nov 2021 15:45:40 -0500 X-IronPort-AV: E=McAfee;i="6200,9189,10179"; a="259465349" X-IronPort-AV: E=Sophos;i="5.87,263,1631602800"; d="scan'208";a="259465349" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Nov 2021 12:40:40 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,263,1631602800"; d="scan'208";a="554722254" Received: from irvmail001.ir.intel.com ([10.43.11.63]) by fmsmga008.fm.intel.com with ESMTP; 25 Nov 2021 12:40:31 -0800 Received: from newjersey.igk.intel.com (newjersey.igk.intel.com [10.102.20.203]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id 1APKeSEZ023254; Thu, 25 Nov 2021 20:40:28 GMT From: Alexander Lobakin To: Jakub Kicinski Cc: Alexander Lobakin , Toke =?UTF-8?B?SMO4aWxhbmQtSsO4cmdlbnNlbg==?= , Daniel Borkmann , "David S. Miller" , Jesse Brandeburg , Michal Swiatkowski , Maciej Fijalkowski , Jonathan Corbet , Shay Agroskin , Arthur Kiyanovski , David Arinzon , Noam Dagan , Saeed Bishara , Ioana Ciornei , Claudiu Manoil , Tony Nguyen , Thomas Petazzoni , Marcin Wojtas , Russell King , Saeed Mahameed , Leon Romanovsky , Alexei Starovoitov , Jesper Dangaard Brouer , John Fastabend , Edward Cree , Martin Habets , "Michael S. Tsirkin" , Jason Wang , Andrii Nakryiko , Martin KaFai Lau , Song Liu , Yonghong Song , KP Singh , Lorenzo Bianconi , Yajun Deng , Sergey Ryazanov , David Ahern , Andrei Vagin , Johannes Berg , Vladimir Oltean , Cong Wang , netdev@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org, bpf@vger.kernel.org, virtualization@lists.linux-foundation.org Subject: Re: [PATCH v2 net-next 21/26] ice: add XDP and XSK generic per-channel statistics Date: Thu, 25 Nov 2021 21:40:07 +0100 Message-Id: <20211125204007.133064-1-alexandr.lobakin@intel.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211125094440.6c402d63@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> References: <20211123163955.154512-1-alexandr.lobakin@intel.com> <20211123163955.154512-22-alexandr.lobakin@intel.com> <77407c26-4e32-232c-58e0-2d601d781f84@iogearbox.net> <87bl28bga6.fsf@toke.dk> <20211125170708.127323-1-alexandr.lobakin@intel.com> <20211125094440.6c402d63@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jakub Kicinski Date: Thu, 25 Nov 2021 09:44:40 -0800 > On Thu, 25 Nov 2021 18:07:08 +0100 Alexander Lobakin wrote: > > > This I agree with, and while I can see the layering argument for putting > > > them into 'ip' and rtnetlink instead of ethtool, I also worry that these > > > counters will simply be lost in obscurity, so I do wonder if it wouldn't > > > be better to accept the "layering violation" and keeping them all in the > > > 'ethtool -S' output? > > > > I don't think we should harm the code and the logics in favor of > > 'some of the users can face something'. We don't control anything > > related to XDP using Ethtool at all, but there is some XDP-related > > stuff inside iproute2 code, so for me it's even more intuitive to > > have them there. > > Jakub, may be you'd like to add something at this point? > > TBH I wasn't following this thread too closely since I saw Daniel > nacked it already. I do prefer rtnl xstats, I'd just report them > in -s if they are non-zero. But doesn't sound like we have an agreement > whether they should exist or not. Right, just -s is fine, if we drop the per-channel approach. > Can we think of an approach which would make cloudflare and cilium > happy? Feels like we're trying to make the slightly hypothetical > admin happy while ignoring objections of very real users. The initial idea was to only uniform the drivers. But in general you are right, 10 drivers having something doesn't mean it's something good. Maciej, I think you were talking about Cilium asking for those stats in Intel drivers? Could you maybe provide their exact usecases/needs so I'll orient myself? I certainly remember about XSK Tx packets and bytes. And speaking of XSK Tx, we have per-socket stats, isn't that enough? > > > > + xdp-channel0-rx_xdp_redirect: 7 > > > > + xdp-channel0-rx_xdp_redirect_errors: 8 > > > > + xdp-channel0-rx_xdp_tx: 9 > > > > + xdp-channel0-rx_xdp_tx_errors: 10 > > > > + xdp-channel0-tx_xdp_xmit_packets: 11 > > > > + xdp-channel0-tx_xdp_xmit_bytes: 12 > > > > + xdp-channel0-tx_xdp_xmit_errors: 13 > > > > + xdp-channel0-tx_xdp_xmit_full: 14 > > Please leave the per-channel stats out. They make a precedent for > channel stats which should be an attribute of a channel. Working for > a large XDP user for a couple of years now I can tell you from my own > experience I've not once found them useful. In fact per-queue stats are > a major PITA as they crowd the output. Oh okay. My very first iterations were without this, but then I found most of the drivers expose their XDP stats per-channel. Since I didn't plan to degrade the functionality, they went that way. Al