From: santosh shilimkar <santosh.shilimkar@oracle.com>
To: Sowmini Varadhan <sowmini.varadhan@oracle.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: davem@davemloft.net, rds-devel@oss.oracle.com,
ajaykumar.hotchandani@oracle.com, igor.maximov@oracle.com
Subject: Re: [PATCH net-next 2/3] RDS-TCP: Do not bloat sndbuf/rcvbuf in rds_tcp_tune
Date: Wed, 30 Sep 2015 08:54:23 -0700 [thread overview]
Message-ID: <560C05AF.70708@oracle.com> (raw)
In-Reply-To: <516b757660b32ff77caacd0dec56ac6970bbc4d9.1443569239.git.sowmini.varadhan@oracle.com>
On 9/30/2015 6:45 AM, Sowmini Varadhan wrote:
> Using the value of RDS_TCP_DEFAULT_BUFSIZE (128K)
> clobbers efficient use of TSO because it inflates the size_goal
> that is computed in tcp_sendmsg/tcp_sendpage and skews packet
> latency, and the default values for these parameters actually
> results in significantly better performance.
>
> In request-response tests using rds-stress with a packet size of
> 100K with 16 threads (test parameters -q 100000 -a 256 -t16 -d16)
> between a single pair of IP addresses achieves a throughput of
> 6-8 Gbps. Without this patch, throughput maxes at 2-3 Gbps under
> equivalent conditions on these platforms.
>
> Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
> ---
> net/rds/tcp.c | 16 ++++------------
> 1 files changed, 4 insertions(+), 12 deletions(-)
>
> diff --git a/net/rds/tcp.c b/net/rds/tcp.c
> index c42b60b..9d6ddba 100644
> --- a/net/rds/tcp.c
> +++ b/net/rds/tcp.c
> @@ -67,21 +67,13 @@ void rds_tcp_nonagle(struct socket *sock)
> set_fs(oldfs);
> }
>
> +/* All module specific customizations to the RDS-TCP socket should be done in
> + * rds_tcp_tune() and applied after socket creation. In general these
> + * customizations should be tunable via module_param()
> + */
> void rds_tcp_tune(struct socket *sock)
> {
> - struct sock *sk = sock->sk;
> -
> rds_tcp_nonagle(sock);
> -
> - /*
> - * We're trying to saturate gigabit with the default,
> - * see svc_sock_setbufsize().
> - */
> - lock_sock(sk);
> - sk->sk_sndbuf = RDS_TCP_DEFAULT_BUFSIZE;
> - sk->sk_rcvbuf = RDS_TCP_DEFAULT_BUFSIZE;
> - sk->sk_userlocks |= SOCK_SNDBUF_LOCK|SOCK_RCVBUF_LOCK;
> - release_sock(sk);
> }
>
> u32 rds_tcp_snd_nxt(struct rds_tcp_connection *tc)
>
We should at least start with sndbuf/rcvbuf parameters.
Nice work. Almost ~3X lift in RDS TCP performance.
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
next prev parent reply other threads:[~2015-09-30 15:54 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-30 13:45 [PATCH net-next 0/3] RDS: RDS-TCP perf enhancements Sowmini Varadhan
2015-09-30 13:45 ` [PATCH net-next 1/3] net/rds: Use a single TCP socket for both send and receive Sowmini Varadhan
2015-09-30 14:45 ` kbuild test robot
2015-09-30 15:50 ` santosh shilimkar
2015-09-30 15:58 ` Sowmini Varadhan
2015-09-30 16:04 ` santosh shilimkar
2015-09-30 16:09 ` Sowmini Varadhan
2015-09-30 16:13 ` santosh shilimkar
2015-09-30 13:45 ` [PATCH net-next 2/3] RDS-TCP: Do not bloat sndbuf/rcvbuf in rds_tcp_tune Sowmini Varadhan
2015-09-30 15:54 ` santosh shilimkar [this message]
2015-09-30 13:45 ` [PATCH net-next 3/3] RDS-TCP: Set up MSG_MORE and MSG_SENDPAGE_NOTLAST as appropriate in rds_tcp_xmit Sowmini Varadhan
2015-09-30 14:53 ` Sergei Shtylyov
2015-09-30 15:56 ` santosh shilimkar
2015-09-30 16:00 ` Sowmini Varadhan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=560C05AF.70708@oracle.com \
--to=santosh.shilimkar@oracle.com \
--cc=ajaykumar.hotchandani@oracle.com \
--cc=davem@davemloft.net \
--cc=igor.maximov@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=rds-devel@oss.oracle.com \
--cc=sowmini.varadhan@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.