virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: "Toke Høiland-Jørgensen" <toke@redhat.com>
To: Alexander Lobakin <alexandr.lobakin@intel.com>,
	Jakub Kicinski <kuba@kernel.org>
Cc: Song Liu <songliubraving@fb.com>,
	Sergey Ryazanov <ryazanov.s.a@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Vladimir Oltean <vladimir.oltean@nxp.com>,
	Alexei Starovoitov <ast@kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	Andrei Vagin <avagin@gmail.com>,
	Tony Nguyen <anthony.l.nguyen@intel.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Ioana Ciornei <ioana.ciornei@nxp.com>,
	Arthur Kiyanovski <akiyano@amazon.com>,
	Leon Romanovsky <leon@kernel.org>,
	Jonathan Corbet <corbet@lwn.net>,
	linux-rdma@vger.kernel.org, linux-doc@vger.kernel.org,
	John Fastabend <john.fastabend@gmail.com>,
	Noam Dagan <ndagan@amazon.com>,
	Cong Wang <cong.wang@bytedance.com>,
	Martin Habets <habetsm.xilinx@gmail.com>,
	Lorenzo Bianconi <lorenzo@kernel.org>,
	Maciej Fijalkowski <maciej.fijalkowski@intel.com>,
	Jesper Dangaard Brouer <hawk@kernel.org>,
	Johannes Berg <johannes.berg@intel.com>,
	KP Singh <kpsingh@kernel.org>,
	Andrii Nakryiko <andrii@kernel.org>,
	Claudiu Manoil <claudiu.manoil@nxp.com>,
	Alexander Lobakin <alexandr.lobakin@intel.com>,
	Yonghong Song <yhs@fb.com>, Shay Agroskin <shayagr@amazon.com>,
	Marcin Wojtas <mw@semihalf.com>,
	Daniel Borkmann <daniel@iogearbox.net>,
	David Arinzon <darinzon@amazon.com>,
	David Ahern <dsahern@kernel.org>,
	virtualization@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org, Martin KaFai Lau <kafai@fb.com>,
	Edward Cree <ecree.xilinx@gmail.com>,
	Yajun Deng <yajun.deng@linux.dev>,
	netdev@vger.kernel.org, Saeed Bishara <saeedb@amazon.com>,
	Michal Swiatkowski <michal.swiatkowski@linux.intel.com>,
	bpf@vger.kernel.org, Saeed Mahameed <saeedm@nvidia.com>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH v2 net-next 21/26] ice: add XDP and XSK generic per-channel statistics
Date: Fri, 26 Nov 2021 13:30:16 +0100	[thread overview]
Message-ID: <87sfvj9k13.fsf@toke.dk> (raw)
In-Reply-To: <20211125204007.133064-1-alexandr.lobakin@intel.com>

Alexander Lobakin <alexandr.lobakin@intel.com> writes:

> From: Jakub Kicinski <kuba@kernel.org>
> 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.

I agree that adding them to -s is fine (and that resolves my "no one
will find them" complain as well). If it crowds the output we could also
default to only output'ing a subset, and have the more detailed
statistics hidden behind a verbose switch (or even just in the JSON
output)?

>> 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.

I don't think it's accurate to call the admin use case "hypothetical".
We're expending a significant effort explaining to people that XDP can
"eat" your packets, and not having any standard statistics makes this
way harder. We should absolutely cater to our "early adopters", but if
we want XDP to see wider adoption, making it "less weird" is critical!

> 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?

IMO, as long as the packets are accounted for in the regular XDP stats,
having a whole separate set of stats only for XSK is less important.

>> 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.

I personally find the per-channel stats quite useful. One of the primary
reasons for not achieving full performance with XDP is broken
configuration of packet steering to CPUs, and having per-channel stats
is a nice way of seeing this. I can see the point about them being way
too verbose in the default output, though, and I do generally filter the
output as well when viewing them. But see my point above about only
printing a subset of the stats by default; per-channel stats could be
JSON-only, for instance?

-Toke

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

  parent reply	other threads:[~2021-11-26 12:30 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20211123163955.154512-1-alexandr.lobakin@intel.com>
     [not found] ` <20211123163955.154512-22-alexandr.lobakin@intel.com>
2021-11-24  0:52   ` [PATCH v2 net-next 21/26] ice: add XDP and XSK generic per-channel statistics Daniel Borkmann
2021-11-25 11:56     ` Toke Høiland-Jørgensen
     [not found]       ` <20211125170708.127323-1-alexandr.lobakin@intel.com>
     [not found]         ` <20211125094440.6c402d63@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
     [not found]           ` <20211125204007.133064-1-alexandr.lobakin@intel.com>
2021-11-26 12:30             ` Toke Høiland-Jørgensen [this message]
     [not found]               ` <20211126100611.514df099@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
2021-11-26 18:47                 ` Toke Høiland-Jørgensen
     [not found]                   ` <20211126111431.4a2ed007@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
2021-11-28 17:54                     ` Ido Schimmel
2021-11-26 22:27                 ` Daniel Borkmann
2021-11-29 11:51                   ` Toke Høiland-Jørgensen
     [not found] ` <20211123163955.154512-9-alexandr.lobakin@intel.com>
2021-11-24 11:33   ` [PATCH v2 net-next 08/26] mvpp2: provide .ndo_get_xdp_stats() callback Russell King (Oracle)
2021-11-24 11:36   ` Russell King (Oracle)
     [not found] ` <20211123163955.154512-8-alexandr.lobakin@intel.com>
2021-11-24 11:39   ` [PATCH v2 net-next 07/26] mvneta: add " Russell King (Oracle)
2021-11-28 22:23 ` [PATCH v2 net-next 00/26] net: introduce and use generic XDP stats David Ahern
     [not found] ` <20211123163955.154512-2-alexandr.lobakin@intel.com>
2021-11-30  2:36   ` [PATCH v2 net-next 01/26] rtnetlink: introduce generic XDP statistics David Ahern
     [not found] ` <20211130155612.594688-1-alexandr.lobakin@intel.com>
2021-11-30 16:17   ` [PATCH v2 net-next 00/26] net: introduce and use generic XDP stats Toke Høiland-Jørgensen
     [not found]     ` <20211130090716.4a557036@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
2021-11-30 17:56       ` David Ahern
     [not found]   ` <20211130081207.228f42ba@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
     [not found]     ` <20211130163454.595897-1-alexandr.lobakin@intel.com>
     [not found]       ` <20211130090449.58a8327d@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
2021-11-30 17:38         ` David Ahern
2021-12-01 15:21           ` Jamal Hadi Salim
2021-11-30 17:45   ` David Ahern

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sfvj9k13.fsf@toke.dk \
    --to=toke@redhat.com \
    --cc=akiyano@amazon.com \
    --cc=alexandr.lobakin@intel.com \
    --cc=andrii@kernel.org \
    --cc=anthony.l.nguyen@intel.com \
    --cc=ast@kernel.org \
    --cc=avagin@gmail.com \
    --cc=bpf@vger.kernel.org \
    --cc=claudiu.manoil@nxp.com \
    --cc=cong.wang@bytedance.com \
    --cc=corbet@lwn.net \
    --cc=daniel@iogearbox.net \
    --cc=darinzon@amazon.com \
    --cc=davem@davemloft.net \
    --cc=dsahern@kernel.org \
    --cc=ecree.xilinx@gmail.com \
    --cc=habetsm.xilinx@gmail.com \
    --cc=hawk@kernel.org \
    --cc=ioana.ciornei@nxp.com \
    --cc=johannes.berg@intel.com \
    --cc=john.fastabend@gmail.com \
    --cc=kafai@fb.com \
    --cc=kpsingh@kernel.org \
    --cc=kuba@kernel.org \
    --cc=leon@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=lorenzo@kernel.org \
    --cc=maciej.fijalkowski@intel.com \
    --cc=michal.swiatkowski@linux.intel.com \
    --cc=mst@redhat.com \
    --cc=mw@semihalf.com \
    --cc=ndagan@amazon.com \
    --cc=netdev@vger.kernel.org \
    --cc=ryazanov.s.a@gmail.com \
    --cc=saeedb@amazon.com \
    --cc=saeedm@nvidia.com \
    --cc=shayagr@amazon.com \
    --cc=songliubraving@fb.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=vladimir.oltean@nxp.com \
    --cc=yajun.deng@linux.dev \
    --cc=yhs@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).