summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-06-27 15:53:54 -0700
committerDavid S. Miller <davem@davemloft.net>2014-06-27 15:53:54 -0700
commit9e1a21b69394b677bd9b144bb638f6c660f77ed2 (patch)
treeb7ba1708058d6c13ee686da1fce92a7d71b84c0f /include/linux
parentc1c27fb9b3040a2559d4d3e1183afa8c106bc94a (diff)
parent1fb6f159fd21c640a28eb65fbd62ce8c9f6a777e (diff)
Merge branch 'tcp_conn_request_unification'
Octavian Purdila says: ==================== tcp: remove code duplication in tcp_v[46]_conn_request This patch series unifies the TCPv4 and TCPv6 connection request flow in a single new function (tcp_conn_request). The first 3 patches are small cleanups and fixes found during the code merge process. The next patches add new methods in tcp_request_sock_ops to abstract the IPv4/IPv6 operations and keep the TCP connection request flow common. To identify potential performance issues this patch has been tested by measuring the connection per second rate with nginx and a httperf like client (to allow for concurrent connection requests - 256 CC were used during testing) using the loopback interface. A dual-core i5 Ivy Bridge processor was used and each process was bounded to a different core to make results consistent. Results for IPv4, unit is connections per second, higher is better, 20 measurements have been collected: before after min 27917 27962 max 28262 28366 avg 28094.1 28212.75 stdev 87.35 97.26 Results for IPv6, unit is connections per second, higher is better, 20 measurements have been collected: before after min 24813 24877 max 25029 25119 avg 24935.5 25017 stdev 64.13 62.93 Changes since v1: * add benchmarking datapoints * fix a few issues in the last patch (IPv6 related) ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ipv6.h10
-rw-r--r--include/linux/tcp.h3
2 files changed, 0 insertions, 13 deletions
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h
index 2faef339d8f2..c811300b0b0c 100644
--- a/include/linux/ipv6.h
+++ b/include/linux/ipv6.h
@@ -256,16 +256,6 @@ static inline struct ipv6_pinfo * inet6_sk(const struct sock *__sk)
return inet_sk(__sk)->pinet6;
}
-static inline struct request_sock *inet6_reqsk_alloc(struct request_sock_ops *ops)
-{
- struct request_sock *req = reqsk_alloc(ops);
-
- if (req)
- inet_rsk(req)->pktopts = NULL;
-
- return req;
-}
-
static inline struct raw6_sock *raw6_sk(const struct sock *sk)
{
return (struct raw6_sock *)sk;
diff --git a/include/linux/tcp.h b/include/linux/tcp.h
index a0513210798f..fa5258f322e7 100644
--- a/include/linux/tcp.h
+++ b/include/linux/tcp.h
@@ -111,10 +111,7 @@ struct tcp_request_sock_ops;
struct tcp_request_sock {
struct inet_request_sock req;
-#ifdef CONFIG_TCP_MD5SIG
- /* Only used by TCP MD5 Signature so far. */
const struct tcp_request_sock_ops *af_specific;
-#endif
struct sock *listener; /* needed for TFO */
u32 rcv_isn;
u32 snt_isn;