* [PATCH net] Documentation: add description for net.core.gro_normal_batch
@ 2022-05-06 18:20 Xin Long
2022-05-10 1:07 ` Jakub Kicinski
0 siblings, 1 reply; 5+ messages in thread
From: Xin Long @ 2022-05-06 18:20 UTC (permalink / raw)
To: network dev; +Cc: davem, kuba, Edward Cree
Describe it in admin-guide/sysctl/net.rst like other Network core options.
Users need to know gro_normal_batch for performance tuning.
Fixes: 323ebb61e32b ("net: use listified RX for handling GRO_NORMAL skbs")
Reported-by: Prijesh <prpatel@redhat.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
---
Documentation/admin-guide/sysctl/net.rst | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/Documentation/admin-guide/sysctl/net.rst b/Documentation/admin-guide/sysctl/net.rst
index f86b5e1623c6..d8a8506f31ad 100644
--- a/Documentation/admin-guide/sysctl/net.rst
+++ b/Documentation/admin-guide/sysctl/net.rst
@@ -374,6 +374,16 @@ option is set to SOCK_TXREHASH_DEFAULT (i. e. not overridden by setsockopt).
If set to 1 (default), hash rethink is performed on listening socket.
If set to 0, hash rethink is not performed.
+gro_normal_batch
+----------------
+
+Maximum number of GRO_NORMAL skbs to batch up for list-RX. When GRO decides
+not to coalesce a packet, instead of passing it to the stack immediately,
+place it on a list. Pass this list to the stack at flush time or whenever
+the number of skbs in this list exceeds gro_normal_batch.
+
+Default : 8
+
2. /proc/sys/net/unix - Parameters for Unix domain sockets
----------------------------------------------------------
--
2.31.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH net] Documentation: add description for net.core.gro_normal_batch
2022-05-06 18:20 [PATCH net] Documentation: add description for net.core.gro_normal_batch Xin Long
@ 2022-05-10 1:07 ` Jakub Kicinski
2022-05-10 17:10 ` Xin Long
0 siblings, 1 reply; 5+ messages in thread
From: Jakub Kicinski @ 2022-05-10 1:07 UTC (permalink / raw)
To: Xin Long; +Cc: network dev, davem, Edward Cree
On Fri, 6 May 2022 14:20:13 -0400 Xin Long wrote:
> Describe it in admin-guide/sysctl/net.rst like other Network core options.
> Users need to know gro_normal_batch for performance tuning.
>
> Fixes: 323ebb61e32b ("net: use listified RX for handling GRO_NORMAL skbs")
> Reported-by: Prijesh <prpatel@redhat.com>
Does Prijesh have a last name? :)
> Signed-off-by: Xin Long <lucien.xin@gmail.com>
> ---
> Documentation/admin-guide/sysctl/net.rst | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/Documentation/admin-guide/sysctl/net.rst b/Documentation/admin-guide/sysctl/net.rst
> index f86b5e1623c6..d8a8506f31ad 100644
> --- a/Documentation/admin-guide/sysctl/net.rst
> +++ b/Documentation/admin-guide/sysctl/net.rst
> @@ -374,6 +374,16 @@ option is set to SOCK_TXREHASH_DEFAULT (i. e. not overridden by setsockopt).
> If set to 1 (default), hash rethink is performed on listening socket.
> If set to 0, hash rethink is not performed.
>
> +gro_normal_batch
> +----------------
> +
> +Maximum number of GRO_NORMAL skbs to batch up for list-RX. When GRO decides
> +not to coalesce a packet, instead of passing it to the stack immediately,
> +place it on a list.
That makes it sounds like only packets which were not coalesced
go on the list. IIUC everything goes on that list before traveling
up the stack, no?
> +Pass this list to the stack at flush time or whenever
This sentences is in second person, and the previous one was in third
person.
> +the number of skbs in this list exceeds gro_normal_batch.
s/skbs/segments/
> +Default : 8
> +
> 2. /proc/sys/net/unix - Parameters for Unix domain sockets
> ----------------------------------------------------------
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net] Documentation: add description for net.core.gro_normal_batch
2022-05-10 1:07 ` Jakub Kicinski
@ 2022-05-10 17:10 ` Xin Long
2022-05-10 17:42 ` Edward Cree
0 siblings, 1 reply; 5+ messages in thread
From: Xin Long @ 2022-05-10 17:10 UTC (permalink / raw)
To: Jakub Kicinski; +Cc: network dev, davem, Edward Cree
On Mon, May 9, 2022 at 9:07 PM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Fri, 6 May 2022 14:20:13 -0400 Xin Long wrote:
> > Describe it in admin-guide/sysctl/net.rst like other Network core options.
> > Users need to know gro_normal_batch for performance tuning.
> >
> > Fixes: 323ebb61e32b ("net: use listified RX for handling GRO_NORMAL skbs")
> > Reported-by: Prijesh <prpatel@redhat.com>
>
> Does Prijesh have a last name? :)
'Prijesh <prpatel@redhat.com>' is what I got from his emails.
But yes, he has. 'Prijesh Patel'.
>
> > Signed-off-by: Xin Long <lucien.xin@gmail.com>
> > ---
> > Documentation/admin-guide/sysctl/net.rst | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/Documentation/admin-guide/sysctl/net.rst b/Documentation/admin-guide/sysctl/net.rst
> > index f86b5e1623c6..d8a8506f31ad 100644
> > --- a/Documentation/admin-guide/sysctl/net.rst
> > +++ b/Documentation/admin-guide/sysctl/net.rst
> > @@ -374,6 +374,16 @@ option is set to SOCK_TXREHASH_DEFAULT (i. e. not overridden by setsockopt).
> > If set to 1 (default), hash rethink is performed on listening socket.
> > If set to 0, hash rethink is not performed.
> >
> > +gro_normal_batch
> > +----------------
> > +
> > +Maximum number of GRO_NORMAL skbs to batch up for list-RX. When GRO decides
> > +not to coalesce a packet, instead of passing it to the stack immediately,
> > +place it on a list.
>
> That makes it sounds like only packets which were not coalesced
> go on the list. IIUC everything goes on that list before traveling
> up the stack, no?
I think the difference is these ones held/merged go to gro_list first
and get merged there, then go to the list. I can change it to:
"place it on a list where the coalesced packets also eventually go"
looks good?
>
> > +Pass this list to the stack at flush time or whenever
>
> This sentences is in second person, and the previous one was in third
> person.
how about "the list will be passed to stack at flush time..." ?
>
> > +the number of skbs in this list exceeds gro_normal_batch.
>
> s/skbs/segments/
right.
Thanks.
>
> > +Default : 8
> > +
> > 2. /proc/sys/net/unix - Parameters for Unix domain sockets
> > ----------------------------------------------------------
> >
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net] Documentation: add description for net.core.gro_normal_batch
2022-05-10 17:10 ` Xin Long
@ 2022-05-10 17:42 ` Edward Cree
2022-05-11 16:20 ` Xin Long
0 siblings, 1 reply; 5+ messages in thread
From: Edward Cree @ 2022-05-10 17:42 UTC (permalink / raw)
To: Xin Long, Jakub Kicinski; +Cc: network dev, davem, Edward Cree
On 10/05/2022 18:10, Xin Long wrote:
> On Mon, May 9, 2022 at 9:07 PM Jakub Kicinski <kuba@kernel.org> wrote:
>> That makes it sounds like only packets which were not coalesced
>> go on the list. IIUC everything goes on that list before traveling
>> up the stack, no?
> I think the difference is these ones held/merged go to gro_list first
> and get merged there, then go to the list. I can change it to:
>
> "place it on a list where the coalesced packets also eventually go"
>
> looks good?
Maybe it'd be clearer to say something like
"when a packet exits GRO, either as a coalesced superframe or as an
original packet which GRO has decided not to coalesce, it is placed on
a per-NAPI list. This list is then passed to the stack when..." etc.
Ideally also mention the fact that a coalesced superframe counts as
napi_gro_cb.count towards the gro_normal_batch limit, not just 1.
-ed
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net] Documentation: add description for net.core.gro_normal_batch
2022-05-10 17:42 ` Edward Cree
@ 2022-05-11 16:20 ` Xin Long
0 siblings, 0 replies; 5+ messages in thread
From: Xin Long @ 2022-05-11 16:20 UTC (permalink / raw)
To: Edward Cree; +Cc: Jakub Kicinski, network dev, davem, Edward Cree
On Tue, May 10, 2022 at 1:42 PM Edward Cree <edward.cree@xilinx.com> wrote:
>
> On 10/05/2022 18:10, Xin Long wrote:
> > On Mon, May 9, 2022 at 9:07 PM Jakub Kicinski <kuba@kernel.org> wrote:
> >> That makes it sounds like only packets which were not coalesced
> >> go on the list. IIUC everything goes on that list before traveling
> >> up the stack, no?
> > I think the difference is these ones held/merged go to gro_list first
> > and get merged there, then go to the list. I can change it to:
> >
> > "place it on a list where the coalesced packets also eventually go"
> >
> > looks good?
>
> Maybe it'd be clearer to say something like
> "when a packet exits GRO, either as a coalesced superframe or as an
> original packet which GRO has decided not to coalesce, it is placed on
> a per-NAPI list. This list is then passed to the stack when..." etc.
> Ideally also mention the fact that a coalesced superframe counts as
> napi_gro_cb.count towards the gro_normal_batch limit, not just 1.
Thanks, ed.
I'd say "...when the segments in this list count towards the
gro_normal_batch limit." only
(too many details involved may confuse users)
will post v2.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-05-11 16:21 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-06 18:20 [PATCH net] Documentation: add description for net.core.gro_normal_batch Xin Long
2022-05-10 1:07 ` Jakub Kicinski
2022-05-10 17:10 ` Xin Long
2022-05-10 17:42 ` Edward Cree
2022-05-11 16:20 ` Xin Long
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.