init.rc: prep tcp_default_init_rwnd, set the default to 60
The kernel's default is between 4~20.
Prepare for javaland to modify the value at runtime.
It can be done via
setprop sys.sysctl.tcp_def_init_rwnd <value>
Bug: 12020135
Change-Id: Id34194b085206fd02e316401c0fbbb9eb52522d2
(cherry picked from commit 7c862c8b5e59cbe216a5bc092c01f1ecba8e9de4)
diff --git a/rootdir/init.rc b/rootdir/init.rc
index 21ebccb..1ee9fbf 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -369,6 +369,9 @@
setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680
setprop net.tcp.buffersize.evdo 4094,87380,262144,4096,16384,262144
+# Define default initial receive window size in segments.
+ setprop net.tcp.default_init_rwnd 60
+
class_start core
class_start main
@@ -401,9 +404,15 @@
on property:sys.powerctl=*
powerctl ${sys.powerctl}
-# system server cannot write to /proc/sys files, so proxy it through init
+# system server cannot write to /proc/sys files,
+# and chown/chmod does not work for /proc/sys/ entries.
+# So proxy writes through init.
on property:sys.sysctl.extra_free_kbytes=*
write /proc/sys/vm/extra_free_kbytes ${sys.sysctl.extra_free_kbytes}
+# "tcp_default_init_rwnd" Is too long!
+on property:sys.sysctl.tcp_def_init_rwnd=*
+ write /proc/sys/net/ipv4/tcp_default_init_rwnd ${sys.sysctl.tcp_def_init_rwnd}
+
## Daemon processes to be run by init.
##