aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorPavel Emelianov <xemul@openvz.org>2007-05-29 13:19:18 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2007-05-31 01:23:34 -0700
commite4fd5da39f99d5921dda1fe3d93652fbd925fbfd (patch)
tree595967b745720653cdc0f7c9e5d61c5433ea143e /include/net
parent[SOCK]: Shrink struct sock by 8 bytes on 64-bit. (diff)
downloadlinux-dev-e4fd5da39f99d5921dda1fe3d93652fbd925fbfd.tar.xz
linux-dev-e4fd5da39f99d5921dda1fe3d93652fbd925fbfd.zip
[TCP]: Consolidate checking for tcp orphan count being too big.
tcp_out_of_resources() and tcp_close() perform the same checking of number of orphan sockets. Move this code into common place. Signed-off-by: Pavel Emelianov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/tcp.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h
index e22b4f0305a3..a8af9ae00177 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -254,6 +254,12 @@ static inline int between(__u32 seq1, __u32 seq2, __u32 seq3)
return seq3 - seq2 >= seq1 - seq2;
}
+static inline int tcp_too_many_orphans(struct sock *sk, int num)
+{
+ return (num > sysctl_tcp_max_orphans) ||
+ (sk->sk_wmem_queued > SOCK_MIN_SNDBUF &&
+ atomic_read(&tcp_memory_allocated) > sysctl_tcp_mem[2]);
+}
extern struct proto tcp_prot;