From: "Toke Høiland-Jørgensen" <toke@redhat.com>
To: Alexander Lobakin <alexandr.lobakin@intel.com>
Cc: Alexander Lobakin <alexandr.lobakin@intel.com>,
Saeed Mahameed <saeed@kernel.org>,
Jakub Kicinski <kuba@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Jesse Brandeburg <jesse.brandeburg@intel.com>,
Lukasz Czapnik <lukasz.czapnik@intel.com>,
Marcin Kubiak <marcin.kubiak@intel.com>,
Michal Kubiak <michal.kubiak@intel.com>,
Michal Swiatkowski <michal.swiatkowski@intel.com>,
Jonathan Corbet <corbet@lwn.net>,
Netanel Belgazal <netanel@amazon.com>,
Arthur Kiyanovski <akiyano@amazon.com>,
Guy Tzalik <gtzalik@amazon.com>,
Saeed Bishara <saeedb@amazon.com>,
Ioana Ciornei <ioana.ciornei@nxp.com>,
Claudiu Manoil <claudiu.manoil@nxp.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Marcin Wojtas <mw@semihalf.com>,
Russell King <linux@armlinux.org.uk>,
Edward Cree <ecree.xilinx@gmail.com>,
Martin Habets <habetsm.xilinx@gmail.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
Jason Wang <jasowang@redhat.com>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Jesper Dangaard Brouer <hawk@kernel.org>,
John Fastabend <john.fastabend@gmail.com>,
Andrii Nakryiko <andrii@kernel.org>,
Martin KaFai Lau <kafai@fb.com>, Song Liu <songliubraving@fb.com>,
Yonghong Song <yhs@fb.com>, KP Singh <kpsingh@kernel.org>,
Shay Agroskin <shayagr@amazon.com>,
Sameeh Jubran <sameehj@amazon.com>,
Alexander Duyck <alexanderduyck@fb.com>,
Danielle Ratson <danieller@nvidia.com>,
Ido Schimmel <idosch@nvidia.com>, Andrew Lunn <andrew@lunn.ch>,
Vladyslav Tarasiuk <vladyslavt@nvidia.com>,
Arnd Bergmann <arnd@arndb.de>,
Andrew Morton <akpm@linux-foundation.org>,
Jian Shen <shenjian15@huawei.com>,
Petr Vorel <petr.vorel@gmail.com>, Dan Murphy <dmurphy@ti.com>,
Yangbo Lu <yangbo.lu@nxp.com>, Michal Kubecek <mkubecek@suse.cz>,
Zheng Yongjun <zhengyongjun3@huawei.com>,
Heiner Kallweit <hkallweit1@gmail.com>,
YueHaibing <yuehaibing@huawei.com>,
Johannes Berg <johannes@sipsolutions.net>,
Maciej Fijalkowski <maciej.fijalkowski@intel.com>,
netdev@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org,
virtualization@lists.linux-foundation.org, bpf@vger.kernel.org
Subject: Re: [PATCH net-next 03/21] ethtool, stats: introduce standard XDP statistics
Date: Mon, 08 Nov 2021 19:09:08 +0100 [thread overview]
Message-ID: <87cznar03f.fsf@toke.dk> (raw)
In-Reply-To: <20211108132113.5152-1-alexandr.lobakin@intel.com>
Alexander Lobakin <alexandr.lobakin@intel.com> writes:
> From: Toke Høiland-Jørgensen <toke@redhat.com>
> Date: Mon, 08 Nov 2021 12:37:54 +0100
>
>> Alexander Lobakin <alexandr.lobakin@intel.com> writes:
>>
>> > From: Alexander Lobakin <alexandr.lobakin@intel.com>
>> > Date: Tue, 26 Oct 2021 11:23:23 +0200
>> >
>> >> From: Saeed Mahameed <saeed@kernel.org>
>> >> Date: Tue, 03 Aug 2021 16:57:22 -0700
>> >>
>> >> [ snip ]
>> >>
>> >> > XDP is going to always be eBPF based ! why not just report such stats
>> >> > to a special BPF_MAP ? BPF stack can collect the stats from the driver
>> >> > and report them to this special MAP upon user request.
>> >>
>> >> I really dig this idea now. How do you see it?
>> >> <ifindex:channel:stat_id> as a key and its value as a value or ...?
>> >
>> > Ideas, suggestions, anyone?
>>
>> I don't like the idea of putting statistics in a map instead of the
>> regular statistics counters. Sure, for bespoke things people want to put
>> into their XDP programs, use a map, but for regular packet/byte
>> counters, update the regular counters so XDP isn't "invisible".
>
> I wanted to provide an `ip link` command for getting these stats
> from maps and printing them in a usual format as well, but seems
> like that's an unneeded overcomplication of things since using
> maps for "regular"/"generic" XDP stats really has no reason except
> for "XDP means eBPF means maps".
Yeah, don't really see why it would have to: to me, one of the benefits
of XDP is being integrated closely with the kernel so we can have a
"fast path" *without* reinventing everything...
>> As Jesper pointed out, batching the updates so the global counters are
>> only updated once per NAPI cycle is the way to avoid a huge performance
>> overhead of this...
>
> That's how I do things currently, seems to work just fine.
Awesome!
-Toke
WARNING: multiple messages have this Message-ID (diff)
From: "Toke Høiland-Jørgensen" <toke@redhat.com>
To: Alexander Lobakin <alexandr.lobakin@intel.com>
Cc: Michal Kubecek <mkubecek@suse.cz>, Andrew Lunn <andrew@lunn.ch>,
Song Liu <songliubraving@fb.com>,
Vladyslav Tarasiuk <vladyslavt@nvidia.com>,
Sameeh Jubran <sameehj@amazon.com>,
"Michael S. Tsirkin" <mst@redhat.com>, Yonghong Song <yhs@fb.com>,
Alexei Starovoitov <ast@kernel.org>,
Zheng Yongjun <zhengyongjun3@huawei.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Ioana Ciornei <ioana.ciornei@nxp.com>,
Petr Vorel <petr.vorel@gmail.com>,
Alexander Duyck <alexanderduyck@fb.com>,
Jian Shen <shenjian15@huawei.com>,
Arthur Kiyanovski <akiyano@amazon.com>,
Daniel Borkmann <daniel@iogearbox.net>,
Jonathan Corbet <corbet@lwn.net>,
linux-doc@vger.kernel.org,
John Fastabend <john.fastabend@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Michal Kubiak <michal.kubiak@intel.com>,
Andrii Nakryiko <andrii@kernel.org>,
Martin Habets <habetsm.xilinx@gmail.com>,
virtualization@lists.linux-foundation.org,
Guy Tzalik <gtzalik@amazon.com>,
YueHaibing <yuehaibing@huawei.com>,
Maciej Fijalkowski <maciej.fijalkowski@intel.com>,
Jesper Dangaard Brouer <hawk@kernel.org>,
Arnd Bergmann <arnd@arndb.de>, Ido Schimmel <idosch@nvidia.com>,
Lukasz Czapnik <lukasz.czapnik@intel.com>,
KP Singh <kpsingh@kernel.org>, Saeed Mahameed <saeed@kernel.org>,
Claudiu Manoil <claudiu.manoil@nxp.com>,
Alexander Lobakin <alexandr.lobakin@intel.com>,
Dan Murphy <dmurphy@ti.com>, Jakub Kicinski <kuba@kernel.org>,
Shay Agroskin <shayagr@amazon.com>,
Marcin Wojtas <mw@semihalf.com>,
Johannes Berg <johannes@sipsolutions.net>,
Danielle Ratson <danieller@nvidia.com>,
Michal Swiatkowski <michal.swiatkowski@intel.com>,
netdev@vger.kernel.org, bpf@vger.kernel.org,
linux-kernel@vger.kernel.org, Martin KaFai Lau <kafai@fb.com>,
Edward Cree <ecree.xilinx@gmail.com>,
Netanel Belgazal <netanel@amazon.com>,
Marcin Kubiak <marcin.kubiak@intel.com>,
Yangbo Lu <yangbo.lu@nxp.com>, Saeed Bishara <saeedb@amazon.com>,
Andrew Morton <akpm@linux-foundation.org>,
"David S. Miller" <davem@davemloft.net>,
Heiner Kallweit <hkallweit1@gmail.com>
Subject: Re: [PATCH net-next 03/21] ethtool, stats: introduce standard XDP statistics
Date: Mon, 08 Nov 2021 19:09:08 +0100 [thread overview]
Message-ID: <87cznar03f.fsf@toke.dk> (raw)
In-Reply-To: <20211108132113.5152-1-alexandr.lobakin@intel.com>
Alexander Lobakin <alexandr.lobakin@intel.com> writes:
> From: Toke Høiland-Jørgensen <toke@redhat.com>
> Date: Mon, 08 Nov 2021 12:37:54 +0100
>
>> Alexander Lobakin <alexandr.lobakin@intel.com> writes:
>>
>> > From: Alexander Lobakin <alexandr.lobakin@intel.com>
>> > Date: Tue, 26 Oct 2021 11:23:23 +0200
>> >
>> >> From: Saeed Mahameed <saeed@kernel.org>
>> >> Date: Tue, 03 Aug 2021 16:57:22 -0700
>> >>
>> >> [ snip ]
>> >>
>> >> > XDP is going to always be eBPF based ! why not just report such stats
>> >> > to a special BPF_MAP ? BPF stack can collect the stats from the driver
>> >> > and report them to this special MAP upon user request.
>> >>
>> >> I really dig this idea now. How do you see it?
>> >> <ifindex:channel:stat_id> as a key and its value as a value or ...?
>> >
>> > Ideas, suggestions, anyone?
>>
>> I don't like the idea of putting statistics in a map instead of the
>> regular statistics counters. Sure, for bespoke things people want to put
>> into their XDP programs, use a map, but for regular packet/byte
>> counters, update the regular counters so XDP isn't "invisible".
>
> I wanted to provide an `ip link` command for getting these stats
> from maps and printing them in a usual format as well, but seems
> like that's an unneeded overcomplication of things since using
> maps for "regular"/"generic" XDP stats really has no reason except
> for "XDP means eBPF means maps".
Yeah, don't really see why it would have to: to me, one of the benefits
of XDP is being integrated closely with the kernel so we can have a
"fast path" *without* reinventing everything...
>> As Jesper pointed out, batching the updates so the global counters are
>> only updated once per NAPI cycle is the way to avoid a huge performance
>> overhead of this...
>
> That's how I do things currently, seems to work just fine.
Awesome!
-Toke
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
next prev parent reply other threads:[~2021-11-08 18:09 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-03 16:36 [PATCH net-next 00/21] ethtool, stats: introduce and use standard XDP stats Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 01/21] ethtool, stats: use a shorthand pointer in stats_prepare_data() Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 02/21] ethtool, stats: add compile-time checks for standard stats Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 03/21] ethtool, stats: introduce standard XDP statistics Alexander Lobakin
2021-08-03 20:49 ` Jakub Kicinski
2021-08-03 23:57 ` Saeed Mahameed
2021-08-04 12:36 ` Jakub Kicinski
2021-08-04 15:53 ` Alexander Lobakin
2021-08-04 16:57 ` Jakub Kicinski
2021-08-05 11:18 ` Alexander Lobakin
2021-08-05 13:31 ` Jakub Kicinski
2021-08-04 16:17 ` David Ahern
2021-08-04 16:17 ` David Ahern
2021-08-04 16:44 ` Jakub Kicinski
2021-08-04 17:28 ` David Ahern
2021-08-04 17:28 ` David Ahern
2021-08-04 18:27 ` Saeed Mahameed
2021-08-05 0:43 ` David Ahern
2021-08-05 0:43 ` David Ahern
2021-08-05 2:14 ` Saeed Mahameed
2021-08-12 12:19 ` Jesper Dangaard Brouer
2021-10-26 9:23 ` Alexander Lobakin
2021-11-05 16:44 ` Alexander Lobakin
2021-11-08 11:37 ` Toke Høiland-Jørgensen
2021-11-08 11:37 ` Toke Høiland-Jørgensen
2021-11-08 13:21 ` Alexander Lobakin
2021-11-08 18:09 ` Toke Høiland-Jørgensen [this message]
2021-11-08 18:09 ` Toke Høiland-Jørgensen
2021-08-03 16:36 ` [PATCH net-next 04/21] ethernet, dpaa2: simplify per-channel Ethtool stats counting Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 05/21] ethernet, dpaa2: convert to standard XDP stats Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 06/21] ethernet, ena: constify src and syncp args of ena_safe_update_stat() Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 07/21] ethernet, ena: convert to standard XDP stats Alexander Lobakin
2021-08-04 13:04 ` Shay Agroskin
2021-08-04 15:24 ` Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 08/21] ethernet, enetc: " Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 09/21] ethernet, mvneta: rename xdp_xmit_err to xdp_xmit_drops Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 10/21] ethernet, mvneta: convert to standard XDP stats Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 11/21] ethernet, mvpp2: rename xdp_xmit_err to xdp_xmit_drops Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 12/21] ethernet, mvpp2: convert to standard XDP stats Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 13/21] ethernet, sfc: " Alexander Lobakin
2021-08-03 17:59 ` Edward Cree
2021-08-03 16:36 ` [PATCH net-next 14/21] veth: rename rx_drops to xdp_errors Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 15/21] veth: rename xdp_xmit_errors to xdp_xmit_drops Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 16/21] veth: rename drop xdp_ suffix from packets and bytes stats Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 17/21] veth: convert to standard XDP stats Alexander Lobakin
2021-08-03 16:36 ` [PATCH net-next 18/21] virtio-net: rename xdp_tx{,__drops} SQ stats to xdp_xmit{,__drops} Alexander Lobakin
2021-08-03 16:42 ` Alexander Lobakin
2021-08-03 16:42 ` [PATCH net-next 19/21] virtio-net: don't mix error-caused drops with XDP_DROP cases Alexander Lobakin
2021-08-03 16:42 ` [PATCH net-next 20/21] virtio-net: convert to standard XDP stats Alexander Lobakin
2021-08-03 16:42 ` [PATCH net-next 21/21] Documentation, ethtool-netlink: update standard statistics documentation Alexander Lobakin
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=87cznar03f.fsf@toke.dk \
--to=toke@redhat.com \
--cc=akiyano@amazon.com \
--cc=akpm@linux-foundation.org \
--cc=alexanderduyck@fb.com \
--cc=alexandr.lobakin@intel.com \
--cc=andrew@lunn.ch \
--cc=andrii@kernel.org \
--cc=arnd@arndb.de \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=claudiu.manoil@nxp.com \
--cc=corbet@lwn.net \
--cc=daniel@iogearbox.net \
--cc=danieller@nvidia.com \
--cc=davem@davemloft.net \
--cc=dmurphy@ti.com \
--cc=ecree.xilinx@gmail.com \
--cc=gtzalik@amazon.com \
--cc=habetsm.xilinx@gmail.com \
--cc=hawk@kernel.org \
--cc=hkallweit1@gmail.com \
--cc=idosch@nvidia.com \
--cc=ioana.ciornei@nxp.com \
--cc=jasowang@redhat.com \
--cc=jesse.brandeburg@intel.com \
--cc=johannes@sipsolutions.net \
--cc=john.fastabend@gmail.com \
--cc=kafai@fb.com \
--cc=kpsingh@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=lukasz.czapnik@intel.com \
--cc=maciej.fijalkowski@intel.com \
--cc=marcin.kubiak@intel.com \
--cc=michal.kubiak@intel.com \
--cc=michal.swiatkowski@intel.com \
--cc=mkubecek@suse.cz \
--cc=mst@redhat.com \
--cc=mw@semihalf.com \
--cc=netanel@amazon.com \
--cc=netdev@vger.kernel.org \
--cc=petr.vorel@gmail.com \
--cc=saeed@kernel.org \
--cc=saeedb@amazon.com \
--cc=sameehj@amazon.com \
--cc=shayagr@amazon.com \
--cc=shenjian15@huawei.com \
--cc=songliubraving@fb.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=vladyslavt@nvidia.com \
--cc=yangbo.lu@nxp.com \
--cc=yhs@fb.com \
--cc=yuehaibing@huawei.com \
--cc=zhengyongjun3@huawei.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.