From: David Miller <davem@davemloft.net>
To: santosh.shilimkar@oracle.com
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
ssantosh@kernel.org
Subject: Re: [PATCH v4 00/14] RDS: connection scalability and performance improvements
Date: Thu, 08 Oct 2015 04:39:05 -0700 (PDT) [thread overview]
Message-ID: <20151008.043905.148919078156104097.davem@davemloft.net> (raw)
In-Reply-To: <1444233228-4481-1-git-send-email-santosh.shilimkar@oracle.com>
From: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Date: Wed, 7 Oct 2015 08:53:34 -0700
> [v4]
> Re-sending the same patches from v3 again since my repost of
> patch 05/14 from v3 was whitespace damaged.
>
> [v3]
> Updated patch "[PATCH v2 05/14] RDS: defer the over_batch work to
> send worker" as per David Miller's comment [4] to avoid the magic
> value usage. Patch now makes use of already available but unused
> send_batch_count module parameter. Rest of the patches are same as
> earlier version v2 [3]
>
> [v2]:
> Dropped "[PATCH 05/15] RDS: increase size of hash-table to 8K" from
> earlier version [1]. I plan to address the hash table scalability using
> re-sizable hash tables as suggested by David Laight and David Miller [2]
>
> This series addresses RDS connection bottlenecks on massive workloads and
> improve the RDMA performance almost by 3X. RDS TCP also gets a small gain
> of about 12%.
>
> RDS is being used in massive systems with high scalability where several
> hundred thousand end points and tens of thousands of local processes
> are operating in tens of thousand sockets. Being RC(reliable connection),
> socket bind and release happens very often and any inefficiencies in
> bind hash look ups hurts the overall system performance. RDS bin hash-table
> uses global spin-lock which is the biggest bottleneck. To make matter worst,
> it uses rcu inside global lock for hash buckets.
> This is being addressed by simply using per bucket rw lock which makes the
> locking simple and very efficient. The hash table size is still an issue and
> I plan to address it by using re-sizable hash tables as suggested on the list.
>
> For RDS RDMA improvement, the completion handling is revamped so that we
> can do batch completions. Both send and receive completion handlers are
> split logically to achieve the same. RDS 8K messages being one of the
> key usecase, mr pool is adapted to have the 8K mrs along with default 1M
> mrs. And while doing this, few fixes and couple of bottlenecks seen with
> rds_sendmsg() are addressed.
>
> Series applies against 4.3-rc1 as well net-next. Its tested on Oracle
> hardware with IB fabric for both bcopy as well as RDMA mode. RDS TCP is
> tested with iXGB NIC. Like last time, iWARP transport is untested with
> these changes. The patchset is also available at below git repo:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux.git net/rds/4.3-v3
>
> As a side note, the IB HCA driver I used for testing misses at least 3
> important patches in upstream to see the full blown IB performance and
> am hoping to get that in mainline with help of them.
Pulled, thank you.
prev parent reply other threads:[~2015-10-08 11:39 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-07 15:53 [PATCH v4 00/14] RDS: connection scalability and performance improvements Santosh Shilimkar
2015-10-07 15:53 ` [PATCH v4 01/14] RDS: use kfree_rcu in rds_ib_remove_ipaddr Santosh Shilimkar
2015-10-07 15:53 ` [PATCH v4 02/14] RDS: make socket bind/release locking scheme simple and more efficient Santosh Shilimkar
2015-10-07 15:53 ` [PATCH v4 03/14] RDS: fix rds_sock reference bug while doing bind Santosh Shilimkar
2015-10-07 15:53 ` [PATCH v4 04/14] RDS: Use per-bucket rw lock for bind hash-table Santosh Shilimkar
2015-10-07 15:53 ` [PATCH v4 05/14] RDS: defer the over_batch work to send worker Santosh Shilimkar
2015-10-07 15:53 ` [PATCH v4 06/14] RDS: use rds_send_xmit() state instead of RDS_LL_SEND_FULL Santosh Shilimkar
2015-10-07 15:53 ` [PATCH v4 07/14] RDS: IB: ack more receive completions to improve performance Santosh Shilimkar
2015-10-07 15:53 ` [PATCH v4 08/14] RDS: IB: split send completion handling and do batch ack Santosh Shilimkar
2015-10-07 15:53 ` [PATCH v4 09/14] RDS: IB: handle rds_ibdev release case instead of crashing the kernel Santosh Shilimkar
2015-10-07 15:53 ` [PATCH v4 10/14] RDS: IB: fix the rds_ib_fmr_wq kick call Santosh Shilimkar
2015-10-07 15:53 ` [PATCH v4 11/14] RDS: IB: use already available pool handle from ibmr Santosh Shilimkar
2015-10-07 15:53 ` [PATCH v4 12/14] RDS: IB: mark rds_ib_fmr_wq static Santosh Shilimkar
2015-10-07 15:53 ` [PATCH v4 13/14] RDS: IB: use max_mr from HCA caps than max_fmr Santosh Shilimkar
2015-10-07 15:53 ` [PATCH v4 14/14] RDS: IB: split mr pool to improve 8K messages performance Santosh Shilimkar
2015-10-08 11:39 ` David Miller [this message]
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=20151008.043905.148919078156104097.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=santosh.shilimkar@oracle.com \
--cc=ssantosh@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).