cc79dd1ba9
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>
15 lines
374 B
Makefile
15 lines
374 B
Makefile
#
|
|
# Makefile for the Linux TIPC layer
|
|
#
|
|
|
|
obj-$(CONFIG_TIPC) := tipc.o
|
|
|
|
tipc-y += addr.o bcast.o bearer.o config.o \
|
|
core.o handler.o link.o discover.o msg.o \
|
|
name_distr.o subscr.o name_table.o net.o \
|
|
netlink.o node.o node_subscr.o port.o ref.o \
|
|
socket.o log.o eth_media.o
|
|
|
|
tipc-$(CONFIG_TIPC_MEDIA_IB) += ib_media.o
|
|
tipc-$(CONFIG_SYSCTL) += sysctl.o
|