diff options
author | David S. Miller <davem@davemloft.net> | 2010-04-27 18:05:31 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-27 18:11:48 -0400 |
commit | c58dc01babfd58ec9e71a6ce080150dc27755d88 (patch) | |
tree | 065c58b5236ea23ff0868a6bbf3c5233b990f0be /net | |
parent | c4ee6a5348102b9cea49fb9adf88307445407911 (diff) |
net: Make RFS socket operations not be inet specific.
Idea from Eric Dumazet.
As for placement inside of struct sock, I tried to choose a place
that otherwise has a 32-bit hole on 64-bit systems.
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/af_inet.c | 8 | ||||
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 2 | ||||
-rw-r--r-- | net/ipv4/udp.c | 4 |
3 files changed, 7 insertions, 7 deletions
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index 9f52880fae10..c6c43bcd1c6f 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c | |||
@@ -419,7 +419,7 @@ int inet_release(struct socket *sock) | |||
419 | if (sk) { | 419 | if (sk) { |
420 | long timeout; | 420 | long timeout; |
421 | 421 | ||
422 | inet_rps_reset_flow(sk); | 422 | sock_rps_reset_flow(sk); |
423 | 423 | ||
424 | /* Applications forget to leave groups before exiting */ | 424 | /* Applications forget to leave groups before exiting */ |
425 | ip_mc_drop_socket(sk); | 425 | ip_mc_drop_socket(sk); |
@@ -722,7 +722,7 @@ int inet_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | |||
722 | { | 722 | { |
723 | struct sock *sk = sock->sk; | 723 | struct sock *sk = sock->sk; |
724 | 724 | ||
725 | inet_rps_record_flow(sk); | 725 | sock_rps_record_flow(sk); |
726 | 726 | ||
727 | /* We may need to bind the socket. */ | 727 | /* We may need to bind the socket. */ |
728 | if (!inet_sk(sk)->inet_num && inet_autobind(sk)) | 728 | if (!inet_sk(sk)->inet_num && inet_autobind(sk)) |
@@ -737,7 +737,7 @@ static ssize_t inet_sendpage(struct socket *sock, struct page *page, int offset, | |||
737 | { | 737 | { |
738 | struct sock *sk = sock->sk; | 738 | struct sock *sk = sock->sk; |
739 | 739 | ||
740 | inet_rps_record_flow(sk); | 740 | sock_rps_record_flow(sk); |
741 | 741 | ||
742 | /* We may need to bind the socket. */ | 742 | /* We may need to bind the socket. */ |
743 | if (!inet_sk(sk)->inet_num && inet_autobind(sk)) | 743 | if (!inet_sk(sk)->inet_num && inet_autobind(sk)) |
@@ -755,7 +755,7 @@ int inet_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | |||
755 | int addr_len = 0; | 755 | int addr_len = 0; |
756 | int err; | 756 | int err; |
757 | 757 | ||
758 | inet_rps_record_flow(sk); | 758 | sock_rps_record_flow(sk); |
759 | 759 | ||
760 | err = sk->sk_prot->recvmsg(iocb, sk, msg, size, flags & MSG_DONTWAIT, | 760 | err = sk->sk_prot->recvmsg(iocb, sk, msg, size, flags & MSG_DONTWAIT, |
761 | flags & ~MSG_DONTWAIT, &addr_len); | 761 | flags & ~MSG_DONTWAIT, &addr_len); |
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 4d6717d1e61c..771f8146a2e5 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -1672,7 +1672,7 @@ process: | |||
1672 | 1672 | ||
1673 | skb->dev = NULL; | 1673 | skb->dev = NULL; |
1674 | 1674 | ||
1675 | inet_rps_save_rxhash(sk, skb->rxhash); | 1675 | sock_rps_save_rxhash(sk, skb->rxhash); |
1676 | 1676 | ||
1677 | bh_lock_sock_nested(sk); | 1677 | bh_lock_sock_nested(sk); |
1678 | ret = 0; | 1678 | ret = 0; |
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 1e18f9cc9247..fa3d2874db41 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c | |||
@@ -1217,7 +1217,7 @@ int udp_disconnect(struct sock *sk, int flags) | |||
1217 | sk->sk_state = TCP_CLOSE; | 1217 | sk->sk_state = TCP_CLOSE; |
1218 | inet->inet_daddr = 0; | 1218 | inet->inet_daddr = 0; |
1219 | inet->inet_dport = 0; | 1219 | inet->inet_dport = 0; |
1220 | inet_rps_save_rxhash(sk, 0); | 1220 | sock_rps_save_rxhash(sk, 0); |
1221 | sk->sk_bound_dev_if = 0; | 1221 | sk->sk_bound_dev_if = 0; |
1222 | if (!(sk->sk_userlocks & SOCK_BINDADDR_LOCK)) | 1222 | if (!(sk->sk_userlocks & SOCK_BINDADDR_LOCK)) |
1223 | inet_reset_saddr(sk); | 1223 | inet_reset_saddr(sk); |
@@ -1262,7 +1262,7 @@ static int __udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb) | |||
1262 | int rc; | 1262 | int rc; |
1263 | 1263 | ||
1264 | if (inet_sk(sk)->inet_daddr) | 1264 | if (inet_sk(sk)->inet_daddr) |
1265 | inet_rps_save_rxhash(sk, skb->rxhash); | 1265 | sock_rps_save_rxhash(sk, skb->rxhash); |
1266 | 1266 | ||
1267 | rc = sock_queue_rcv_skb(sk, skb); | 1267 | rc = sock_queue_rcv_skb(sk, skb); |
1268 | if (rc < 0) { | 1268 | if (rc < 0) { |