]> www.infradead.org Git - users/jedix/linux-maple.git/commit
[PATCH 2/2] Avoid redundant call to rds_bind_lookup() in recv path.
authorSowmini Varadhan <sowmini.varadhan@oracle.com>
Tue, 12 Apr 2016 01:49:12 +0000 (18:49 -0700)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 14 Apr 2016 01:43:49 +0000 (18:43 -0700)
commita60d347e2a984e92ab1f7026d4d49eae070a8b04
treea5f0ad4ad5ae5b1ebeb0f1cea5e04c345db55893
parent05becdc96f9cd6af9bf0eae93e9b3bfee6e3eb1e
[PATCH 2/2] Avoid redundant call to rds_bind_lookup() in recv path.

Orabug 20930687

When RAC tries to scale RDS-TCP, they are hitting bottlenecks
due to inefficiencies in rds_bind_lookup. Each call to
rds_bind_lookup results in an irqsave/irqrestore sequence, and
when the list of RDS sockets is large, we end up having IRQs
suppressed for long intervals. This trigger flow-control assertions
and causes TX queue watchdog hangs in the sender. The current
implementation makes this even worse, by superfluously calling
rds_bind_lookup(). This patch set takes the first step to solving
this problem by avoiding one of the redundant calls to rds_bind_lookup.

Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
net/rds/recv.c