[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160722133404.GE9950@localhost.localdomain>
Date: Fri, 22 Jul 2016 10:34:04 -0300
From: Marcelo Ricardo Leitner <marcelo.leitner@...il.com>
To: Xin Long <lucien.xin@...il.com>
Cc: network dev <netdev@...r.kernel.org>, linux-sctp@...r.kernel.org,
Vlad Yasevich <vyasevich@...il.com>, daniel@...earbox.net,
davem@...emloft.net
Subject: Re: [PATCH net-next] sctp: use inet_recvmsg to support sctp RFS well
On Fri, Jul 22, 2016 at 09:25:42PM +0800, Xin Long wrote:
> Commit 486bdee0134c ("sctp: add support for RPS and RFS")
> saves skb->hash into sk->sk_rxhash so that the inet_* can
> record it to flow table.
>
> But sctp uses sock_common_recvmsg as .recvmsg instead
> of inet_recvmsg, sock_common_recvmsg doesn't invoke
> sock_rps_record_flow to record the flow. It may cause
> that the receiver has no chances to record the flow if
> it doesn't send msg or poll the socket.
>
> So this patch fixes it by using inet_recvmsg as .recvmsg
> in sctp.
>
> Fixes: 486bdee0134c ("sctp: add support for RPS and RFS")
> Signed-off-by: Xin Long <lucien.xin@...il.com>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@...il.com>
Thanks
> ---
> net/sctp/ipv6.c | 2 +-
> net/sctp/protocol.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c
> index ae6f1a2..98c383c 100644
> --- a/net/sctp/ipv6.c
> +++ b/net/sctp/ipv6.c
> @@ -954,7 +954,7 @@ static const struct proto_ops inet6_seqpacket_ops = {
> .setsockopt = sock_common_setsockopt,
> .getsockopt = sock_common_getsockopt,
> .sendmsg = inet_sendmsg,
> - .recvmsg = sock_common_recvmsg,
> + .recvmsg = inet_recvmsg,
> .mmap = sock_no_mmap,
> #ifdef CONFIG_COMPAT
> .compat_setsockopt = compat_sock_common_setsockopt,
> diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c
> index 1adb927..7b523e3 100644
> --- a/net/sctp/protocol.c
> +++ b/net/sctp/protocol.c
> @@ -1028,7 +1028,7 @@ static const struct proto_ops inet_seqpacket_ops = {
> .setsockopt = sock_common_setsockopt, /* IP_SOL IP_OPTION is a problem */
> .getsockopt = sock_common_getsockopt,
> .sendmsg = inet_sendmsg,
> - .recvmsg = sock_common_recvmsg,
> + .recvmsg = inet_recvmsg,
> .mmap = sock_no_mmap,
> .sendpage = sock_no_sendpage,
> #ifdef CONFIG_COMPAT
> --
> 2.1.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sctp" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
Powered by blists - more mailing lists