netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [patch] add tcp congestion control relevant parts
       [not found] <476000E7.4060104@secunet.com>
@ 2007-12-14  8:48 ` Michael Kerrisk
  2007-12-14 16:15   ` Stephen Hemminger
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Kerrisk @ 2007-12-14  8:48 UTC (permalink / raw)
  To: netdev, linux-net; +Cc: Thomas Egerer, linux-man

Hello Linux networking folk,

I received the patch below for the tcp.7 man page.  Would anybody here be
prepared to review the new material / double check the details?

Cheers,

Michael

-------- Original Message --------
Subject: [patch] add tcp congestion control relevant parts
Date: Wed, 12 Dec 2007 16:40:23 +0100
From: Thomas Egerer <thomas.Egerer@secunet.com>
To: mtk.manpages@gmail.com
CC: linux-man@vger.kernel.org

Hello *,

man-pages version : 2.70 from http://www.kernel.org/pub/linux/docs/man-pages/
All required information were obtained by reading the kernel
code/documentation.
I'm not sure, whether it is completely bullet proof on when the sysctl
variables/socket option first appeared in the kernel, so you might as well
drop this information, but I'm pretty sure about how it works.
Here we go with my patch:

diff -ru man-pages-2.70/man7/tcp.7 man-pages-2.70.new/man7/tcp.7
--- man-pages-2.70/man7/tcp.7   2007-11-24 14:33:34.000000000 +0100
+++ man-pages-2.70.new/man7/tcp.7       2007-12-12 16:34:52.000000000 +0100
@@ -177,8 +177,6 @@
 .\" FIXME As at Sept 2006, kernel 2.6.18-rc5, the following are
 .\"    not yet documented (shown with default values):
 .\"
-.\"     /proc/sys/net/ipv4/tcp_congestion_control (since 2.6.13)
-.\"     bic
 .\"     /proc/sys/net/ipv4/tcp_moderate_rcvbuf
 .\"     1
 .\"     /proc/sys/net/ipv4/tcp_no_metrics_save
@@ -224,6 +222,20 @@
 are reserved for the application buffer.
 A value of 0
 implies that no amount is reserved.
+.TP
+.BR tcp_allowed_congestion_control \
+" (String; default: cubic reno) (since 2.6.13) "
+Show/set the congestion control choices available to non-privileged
+processes. The list is a subset of those listed in
+.IR tcp_available_congestion_control "."
+Default is "cubic reno" and the default setting
+.RI ( tcp_congestion_control ).
+.TP
+.BR tcp_available_congestion_control \
+" (String; default: cubic reno) (since 2.6.13) "
+Lists the TCP congestion control algorithms available on the system. This
value
+can only be changed by loading/unloading modules responsible for congestion
+control.
 .\"
 .\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
 .TP
@@ -257,6 +269,17 @@
 Allows two flows sharing the same connection to converge
 more rapidly.
 .TP
+.BR tcp_congestion_control " (String; default: cubic reno) (since 2.6.13) "
+Determines the congestion control algorithm used for newly created TCP
+sockets. By default Linux uses cubic with reno as fallback. If you want
+to have more control over the algorithm used, you must enable the symbol
+CONFIG_TCP_CONG_ADVANCED in your kernel config.
+You can use
+.BR setsockopt (2)
+to individually change the algorithm on a single socket.
+Requires CAP_NET_ADMIN or congestion algorithm to be listed in
+.IR tcp_allowed_congestion_control "."
+.TP
 .BR tcp_dsack " (Boolean; default: enabled)"
 Enable RFC\ 2883 TCP Duplicate SACK support.
 .TP
@@ -649,7 +672,21 @@
 socket options are valid on TCP sockets.
 For more information see
 .BR ip (7).
-.\" FIXME Document TCP_CONGESTION (new in 2.6.13)
+.TP
+.BR TCP_CONGESTION " (new since kernel version 2.6.13)"
+If set to the name of an available congestion control algorithm,
+it will henceforth be used for the socket. To get a list of
+available congestion control algorithms, consult the sysctl variable
+.IR net.ipv4.tcp_available_congestion_control "."
+The algorithm that is used by default for all newly created
+TCP sockets can be viewed/changed via the sysctl variable
+.IR net.ipv4.tcp_congestion_control "."
+If you feel, you are missing an algorithm in the list,
+you may try to load the corresponding module using
+.BR modprobe (8),
+or if your kernel is built with module autoloading support
+.RI ( CONFIG_KMOD )
+and the algorithm has been compiled as a module, it will be autoloaded.
 .TP
 .B TCP_CORK
 If set, don't send out partial frames.


-- 
Michael Kerrisk
Maintainer of the Linux man-pages project
http://www.kernel.org/doc/man-pages/
Want to report a man-pages bug?  Look here:
http://www.kernel.org/doc/man-pages/reporting_bugs.html


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [patch] add tcp congestion control relevant parts
  2007-12-14  8:48 ` [patch] add tcp congestion control relevant parts Michael Kerrisk
@ 2007-12-14 16:15   ` Stephen Hemminger
  2008-01-02  9:55     ` Michael Kerrisk
  0 siblings, 1 reply; 4+ messages in thread
From: Stephen Hemminger @ 2007-12-14 16:15 UTC (permalink / raw)
  To: Michael Kerrisk; +Cc: netdev, linux-net, Thomas Egerer, linux-man

On Fri, 14 Dec 2007 09:48:32 +0100
Michael Kerrisk <mtk.manpages@googlemail.com> wrote:

> Hello Linux networking folk,
> 
> I received the patch below for the tcp.7 man page.  Would anybody here be
> prepared to review the new material / double check the details?
> 
> Cheers,
> 
> Michael
> 
> -------- Original Message --------
> Subject: [patch] add tcp congestion control relevant parts
> Date: Wed, 12 Dec 2007 16:40:23 +0100
> From: Thomas Egerer <thomas.Egerer@secunet.com>
> To: mtk.manpages@gmail.com
> CC: linux-man@vger.kernel.org
> 
> Hello *,
> 
> man-pages version : 2.70 from http://www.kernel.org/pub/linux/docs/man-pages/
> All required information were obtained by reading the kernel
> code/documentation.
> I'm not sure, whether it is completely bullet proof on when the sysctl
> variables/socket option first appeared in the kernel, so you might as well
> drop this information, but I'm pretty sure about how it works.
> Here we go with my patch:
> 
> diff -ru man-pages-2.70/man7/tcp.7 man-pages-2.70.new/man7/tcp.7
> --- man-pages-2.70/man7/tcp.7   2007-11-24 14:33:34.000000000 +0100
> +++ man-pages-2.70.new/man7/tcp.7       2007-12-12 16:34:52.000000000 +0100
> @@ -177,8 +177,6 @@
>  .\" FIXME As at Sept 2006, kernel 2.6.18-rc5, the following are
>  .\"    not yet documented (shown with default values):
>  .\"
> -.\"     /proc/sys/net/ipv4/tcp_congestion_control (since 2.6.13)
> -.\"     bic
>  .\"     /proc/sys/net/ipv4/tcp_moderate_rcvbuf
>  .\"     1
>  .\"     /proc/sys/net/ipv4/tcp_no_metrics_save
> @@ -224,6 +222,20 @@
>  are reserved for the application buffer.
>  A value of 0
>  implies that no amount is reserved.
> +.TP
> +.BR tcp_allowed_congestion_control \
> +" (String; default: cubic reno) (since 2.6.13) "
> +Show/set the congestion control choices available to non-privileged
> +processes. The list is a subset of those listed in
> +.IR tcp_available_congestion_control "."
> +Default is "cubic reno" and the default setting
> +.RI ( tcp_congestion_control ).
> +.TP
> +.BR tcp_available_congestion_control \
> +" (String; default: cubic reno) (since 2.6.13) "
> +Lists the TCP congestion control algorithms available on the system. This
> value
> +can only be changed by loading/unloading modules responsible for congestion
> +control.
>  .\"
>  .\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
>  .TP
> @@ -257,6 +269,17 @@
>  Allows two flows sharing the same connection to converge
>  more rapidly.
>  .TP
> +.BR tcp_congestion_control " (String; default: cubic reno) (since 2.6.13) "
> +Determines the congestion control algorithm used for newly created TCP
> +sockets. By default Linux uses cubic with reno as fallback. If you want
> +to have more control over the algorithm used, you must enable the symbol
> +CONFIG_TCP_CONG_ADVANCED in your kernel config.

You can choose the default congestion control as well as part of the kernel
configuration.
> 


-- 
Stephen Hemminger <shemminger@linux-foundation.org>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [patch] add tcp congestion control relevant parts
  2007-12-14 16:15   ` Stephen Hemminger
@ 2008-01-02  9:55     ` Michael Kerrisk
       [not found]       ` <477B5F89.9000707-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Kerrisk @ 2008-01-02  9:55 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Michael Kerrisk, netdev, linux-net, Thomas Egerer, linux-man



Stephen Hemminger wrote:
> On Fri, 14 Dec 2007 09:48:32 +0100
> Michael Kerrisk <mtk.manpages@googlemail.com> wrote:
> 
>> Hello Linux networking folk,
>>
>> I received the patch below for the tcp.7 man page.  Would anybody here be
>> prepared to review the new material / double check the details?
>>
>> Cheers,
>>
>> Michael
>>
>> -------- Original Message --------
>> Subject: [patch] add tcp congestion control relevant parts
>> Date: Wed, 12 Dec 2007 16:40:23 +0100
>> From: Thomas Egerer <thomas.Egerer@secunet.com>
>> To: mtk.manpages@gmail.com
>> CC: linux-man@vger.kernel.org
>>
>> Hello *,
>>
>> man-pages version : 2.70 from http://www.kernel.org/pub/linux/docs/man-pages/
>> All required information were obtained by reading the kernel
>> code/documentation.
>> I'm not sure, whether it is completely bullet proof on when the sysctl
>> variables/socket option first appeared in the kernel, so you might as well
>> drop this information, but I'm pretty sure about how it works.
>> Here we go with my patch:
>>
>> diff -ru man-pages-2.70/man7/tcp.7 man-pages-2.70.new/man7/tcp.7
>> --- man-pages-2.70/man7/tcp.7   2007-11-24 14:33:34.000000000 +0100
>> +++ man-pages-2.70.new/man7/tcp.7       2007-12-12 16:34:52.000000000 +0100
>> @@ -177,8 +177,6 @@
>>  .\" FIXME As at Sept 2006, kernel 2.6.18-rc5, the following are
>>  .\"    not yet documented (shown with default values):
>>  .\"
>> -.\"     /proc/sys/net/ipv4/tcp_congestion_control (since 2.6.13)
>> -.\"     bic
>>  .\"     /proc/sys/net/ipv4/tcp_moderate_rcvbuf
>>  .\"     1
>>  .\"     /proc/sys/net/ipv4/tcp_no_metrics_save
>> @@ -224,6 +222,20 @@
>>  are reserved for the application buffer.
>>  A value of 0
>>  implies that no amount is reserved.
>> +.TP
>> +.BR tcp_allowed_congestion_control \
>> +" (String; default: cubic reno) (since 2.6.13) "
>> +Show/set the congestion control choices available to non-privileged
>> +processes. The list is a subset of those listed in
>> +.IR tcp_available_congestion_control "."
>> +Default is "cubic reno" and the default setting
>> +.RI ( tcp_congestion_control ).
>> +.TP
>> +.BR tcp_available_congestion_control \
>> +" (String; default: cubic reno) (since 2.6.13) "
>> +Lists the TCP congestion control algorithms available on the system. This
>> value
>> +can only be changed by loading/unloading modules responsible for congestion
>> +control.
>>  .\"
>>  .\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
>>  .TP
>> @@ -257,6 +269,17 @@
>>  Allows two flows sharing the same connection to converge
>>  more rapidly.
>>  .TP
>> +.BR tcp_congestion_control " (String; default: cubic reno) (since 2.6.13) "
>> +Determines the congestion control algorithm used for newly created TCP
>> +sockets. By default Linux uses cubic with reno as fallback. If you want
>> +to have more control over the algorithm used, you must enable the symbol
>> +CONFIG_TCP_CONG_ADVANCED in your kernel config.
> 
> You can choose the default congestion control as well as part of the kernel
> configuration.

Hi Stephen,

Other than this, did the doc patch look okay?  (I'm not sure whether there
was an implied ACK in your message for the rest of the patch.)

Cheers,

Michael

-- 
Michael Kerrisk
Maintainer of the Linux man-pages project
http://www.kernel.org/doc/man-pages/
Want to report a man-pages bug?  Look here:
http://www.kernel.org/doc/man-pages/reporting_bugs.html



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [patch] add tcp congestion control relevant parts
       [not found]       ` <477B5F89.9000707-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2008-01-02 17:40         ` Stephen Hemminger
  0 siblings, 0 replies; 4+ messages in thread
From: Stephen Hemminger @ 2008-01-02 17:40 UTC (permalink / raw)
  To: Michael Kerrisk
  Cc: Michael Kerrisk, netdev, linux-net-u79uwXL29TY76Z2rM5mHXA,
	Thomas Egerer, linux-man-u79uwXL29TY76Z2rM5mHXA

On Wed, 02 Jan 2008 10:55:21 +0100
Michael Kerrisk <mtk.manpages-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:

> 
> 
> Stephen Hemminger wrote:
> > On Fri, 14 Dec 2007 09:48:32 +0100
> > Michael Kerrisk <mtk.manpages-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
> > 
> >> Hello Linux networking folk,
> >>
> >> I received the patch below for the tcp.7 man page.  Would anybody here be
> >> prepared to review the new material / double check the details?
> >>
> >> Cheers,
> >>
> >> Michael
> >>
> >> -------- Original Message --------
> >> Subject: [patch] add tcp congestion control relevant parts
> >> Date: Wed, 12 Dec 2007 16:40:23 +0100
> >> From: Thomas Egerer <thomas.Egerer-opNxpl+3fjRBDgjK7y7TUQ@public.gmane.org>
> >> To: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
> >> CC: linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> >>
> >> Hello *,
> >>
> >> man-pages version : 2.70 from http://www.kernel.org/pub/linux/docs/man-pages/
> >> All required information were obtained by reading the kernel
> >> code/documentation.
> >> I'm not sure, whether it is completely bullet proof on when the sysctl
> >> variables/socket option first appeared in the kernel, so you might as well
> >> drop this information, but I'm pretty sure about how it works.
> >> Here we go with my patch:
> >>
> >> diff -ru man-pages-2.70/man7/tcp.7 man-pages-2.70.new/man7/tcp.7
> >> --- man-pages-2.70/man7/tcp.7   2007-11-24 14:33:34.000000000 +0100
> >> +++ man-pages-2.70.new/man7/tcp.7       2007-12-12 16:34:52.000000000 +0100
> >> @@ -177,8 +177,6 @@
> >>  .\" FIXME As at Sept 2006, kernel 2.6.18-rc5, the following are
> >>  .\"    not yet documented (shown with default values):
> >>  .\"
> >> -.\"     /proc/sys/net/ipv4/tcp_congestion_control (since 2.6.13)
> >> -.\"     bic
> >>  .\"     /proc/sys/net/ipv4/tcp_moderate_rcvbuf
> >>  .\"     1
> >>  .\"     /proc/sys/net/ipv4/tcp_no_metrics_save
> >> @@ -224,6 +222,20 @@
> >>  are reserved for the application buffer.
> >>  A value of 0
> >>  implies that no amount is reserved.
> >> +.TP
> >> +.BR tcp_allowed_congestion_control \
> >> +" (String; default: cubic reno) (since 2.6.13) "
> >> +Show/set the congestion control choices available to non-privileged
> >> +processes. The list is a subset of those listed in
> >> +.IR tcp_available_congestion_control "."
> >> +Default is "cubic reno" and the default setting
> >> +.RI ( tcp_congestion_control ).
> >> +.TP
> >> +.BR tcp_available_congestion_control \
> >> +" (String; default: cubic reno) (since 2.6.13) "
> >> +Lists the TCP congestion control algorithms available on the system. This
> >> value
> >> +can only be changed by loading/unloading modules responsible for congestion
> >> +control.
> >>  .\"
> >>  .\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
> >>  .TP
> >> @@ -257,6 +269,17 @@
> >>  Allows two flows sharing the same connection to converge
> >>  more rapidly.
> >>  .TP
> >> +.BR tcp_congestion_control " (String; default: cubic reno) (since 2.6.13) "
> >> +Determines the congestion control algorithm used for newly created TCP
> >> +sockets. By default Linux uses cubic with reno as fallback. If you want
> >> +to have more control over the algorithm used, you must enable the symbol
> >> +CONFIG_TCP_CONG_ADVANCED in your kernel config.
> > 
> > You can choose the default congestion control as well as part of the kernel
> > configuration.
> 
> Hi Stephen,
> 
> Other than this, did the doc patch look okay?  (I'm not sure whether there
> was an implied ACK in your message for the rest of the patch.)
> 
> Cheers,
> 
> Michael
> 

Yes, and having this documented will hopefully help answer people's
questions.

-- 
Stephen Hemminger <stephen.hemminger-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
-
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-01-02 17:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <476000E7.4060104@secunet.com>
2007-12-14  8:48 ` [patch] add tcp congestion control relevant parts Michael Kerrisk
2007-12-14 16:15   ` Stephen Hemminger
2008-01-02  9:55     ` Michael Kerrisk
     [not found]       ` <477B5F89.9000707-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2008-01-02 17:40         ` Stephen Hemminger

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