Ying Xue
cc79dd1ba9
tipc: change socket buffer overflow control to respect sk_rcvbuf
...
As per feedback from the netdev community, we change the buffer
overflow protection algorithm in receiving sockets so that it
always respects the nominal upper limit set in sk_rcvbuf.
Instead of scaling up from a small sk_rcvbuf value, which leads to
violation of the configured sk_rcvbuf limit, we now calculate the
weighted per-message limit by scaling down from a much bigger value,
still in the same field, according to the importance priority of the
received message.
To allow for administrative tunability of the socket receive buffer
size, we create a tipc_rmem sysctl variable to allow the user to
configure an even bigger value via sysctl command. It is a size of
three (min/default/max) to be consistent with things like tcp_rmem.
By default, the value initialized in tipc_rmem[1] is equal to the
receive socket size needed by a TIPC_CRITICAL_IMPORTANCE message.
This value is also set as the default value of sk_rcvbuf.
Originally-by: Jon Maloy <jon.maloy@ericsson.com >
Cc: Neil Horman <nhorman@tuxdriver.com >
Cc: Jon Maloy <jon.maloy@ericsson.com >
[Ying: added sysctl variation to Jon's original patch]
Signed-off-by: Ying Xue <ying.xue@windriver.com >
[PG: don't compile sysctl.c if not config'd; add Documentation]
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2013-06-17 15:53:00 -07:00
..
2013-05-09 10:15:46 -07:00
2012-11-26 14:22:21 +01:00
2013-05-09 09:46:45 -07:00
2012-12-17 17:15:25 -08:00
2013-05-04 12:33:36 -07:00
2013-01-22 17:51:01 +00:00
2013-04-29 18:28:19 -07:00
2012-04-16 14:37:13 +02:00
2013-04-09 14:57:06 +02:00
2013-02-27 19:10:22 -08:00
2012-11-09 18:07:11 +05:30
2013-05-07 18:38:26 -07:00
2012-06-26 21:19:02 -07:00
2013-05-05 13:23:27 -07:00
2013-04-23 13:45:22 +02:00
2012-04-03 13:09:18 +02:00
2012-10-08 13:50:12 +10:30
2011-12-12 14:14:31 -08:00
2013-04-24 11:42:43 +10:00
2013-06-05 16:37:30 -07:00
2013-05-25 00:02:16 +02:00
2013-01-22 09:41:43 -08:00
2013-01-01 11:18:26 -02:00
2013-04-12 14:06:16 +10:00
2012-04-20 09:24:27 -07:00
2012-11-19 14:28:24 +01:00
2012-03-30 16:03:15 -07:00
2013-06-06 10:51:34 -05:00
2012-11-14 15:07:18 -08:00
2012-12-14 08:48:59 +01:00
2013-05-04 14:49:36 +02:00
2013-03-22 11:18:34 +01:00
2012-03-07 16:08:24 +01:00
2013-04-02 09:39:55 -07:00
2012-03-30 16:03:15 -07:00
2012-09-20 16:49:17 -04:00
2013-03-11 07:49:37 -07:00
2013-03-25 13:32:20 -07:00
2012-03-30 16:03:15 -07:00
2013-05-07 07:59:19 -07:00
2013-04-02 09:40:03 -07:00
2012-02-15 14:48:01 -08:00
2013-01-21 14:52:42 -08:00
2013-04-01 11:04:53 -07:00
2012-05-02 00:10:49 -07:00
2013-03-02 20:09:50 +00:00
2013-04-08 16:57:15 -07:00
2013-03-22 12:10:42 -04:00
2013-01-26 22:20:06 -08:00
2013-06-12 15:10:13 -07:00
2013-01-10 01:27:46 +01:00
2012-04-16 14:37:13 +02:00
2013-01-24 17:25:13 +01:00
2013-05-14 01:58:43 +02:00
2013-06-01 08:29:23 +10:00
2012-10-02 21:14:29 +10:00
2013-05-24 16:22:50 -07:00
2013-05-02 17:54:19 +02:00
2013-05-02 15:50:20 +02:00
2012-09-13 16:52:04 +02:00
2013-04-06 11:31:30 +01:00
2013-03-19 14:16:42 -07:00
2013-01-15 21:57:44 -08:00
2013-04-15 19:45:16 +02:00
2013-01-03 15:57:16 -08:00
2013-06-17 15:53:00 -07:00
2012-09-17 17:12:58 -07:00
2013-04-27 09:16:04 +08:00
2013-04-27 16:41:43 -07:00
2013-04-30 09:36:50 -07:00
2013-03-28 14:45:56 -07:00
2013-04-18 21:20:34 -03:00
2013-05-05 14:47:31 -07:00
2013-04-29 15:54:36 -07:00
2013-02-18 13:55:24 -08:00
2013-03-01 12:48:36 +01:00
2013-04-30 08:35:20 -07:00
2013-05-09 01:07:09 -07:00
2013-04-16 18:47:22 +09:00
2013-03-03 12:06:09 -08:00
2013-01-08 14:14:55 -08:00
2013-04-08 13:33:48 -07:00
2013-04-27 23:03:43 -07:00
2013-04-08 15:42:03 +02:00
2013-01-11 11:38:03 -08:00
2012-11-14 09:39:44 -08:00
2012-03-23 16:58:37 -07:00
2012-11-21 13:03:01 -08:00
2011-11-09 12:10:37 +02:00
2013-02-27 19:10:23 -08:00
2012-10-24 17:06:43 +02:00
2012-11-29 03:30:34 -08:00
2013-05-01 16:35:36 +05:30
2012-03-07 16:08:24 +01:00
2013-04-15 09:51:18 +05:30
2012-11-19 14:10:53 +01:00
2013-01-17 12:19:09 -08:00
2012-07-29 21:11:05 -03:00
2012-05-17 19:06:13 -04:00
2013-04-16 18:47:19 +09:00
2012-12-10 15:54:27 +01:00
2013-03-10 18:16:36 +08:00
2012-05-25 16:18:34 +02:00
2013-01-11 11:38:03 -08:00
2013-04-29 15:18:50 +02:00
2013-02-27 19:10:21 -08:00
2012-12-05 23:52:10 +00:00
2012-11-27 21:08:57 +01:00
2013-05-15 10:27:50 -04:00
2013-04-27 16:52:47 -07:00
2011-12-02 16:12:42 +00:00
2012-09-04 16:06:34 -07:00
2012-11-28 18:36:06 +10:00
2011-12-11 10:31:23 -08:00
2013-02-19 08:42:37 +01:00
2012-02-11 15:11:28 +01:00
2013-01-31 19:20:33 -05:00
2012-05-09 13:59:09 -07:00
2012-06-28 12:03:15 +02:00
2013-04-24 11:42:42 +10:00
2013-02-08 13:27:13 -02:00
2013-01-08 14:14:55 -08:00
2012-12-12 17:38:33 -08:00
2012-03-30 16:03:15 -07:00
2012-02-28 16:05:06 +01:00
2011-11-07 07:54:42 +10:30
2012-03-30 16:03:15 -07:00
2012-09-26 19:56:15 +02:00
2013-03-18 11:03:29 +01:00
2013-04-30 13:47:37 -07:00
2012-09-10 17:05:45 +02:00
2012-09-06 22:16:58 -07:00
2012-10-09 16:22:40 +09:00
2012-09-18 12:53:22 +03:00
2013-01-03 15:57:16 -08:00
2012-10-06 03:05:01 +09:00
2012-10-01 15:27:48 +02:00
2012-12-17 17:15:23 -08:00
2012-06-25 12:11:58 -07:00
2012-04-16 14:37:13 +02:00
2013-04-29 18:28:20 -07:00
2013-04-30 17:04:10 -07:00
2013-04-04 10:24:53 -07:00
2012-09-21 10:48:03 -06:00
2012-01-02 13:04:55 +01:00
2012-05-08 16:01:34 -07:00
2012-07-13 22:24:45 -07:00