All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.