]> git.baikalelectronics.ru Git - kernel.git/commit
RDS/IB: get the xmit max_sge from the RDS IB device on the connection
authorZach Brown <zach.brown@oracle.com>
Tue, 18 May 2010 22:44:50 +0000 (15:44 -0700)
committerAndy Grover <andy.grover@oracle.com>
Thu, 9 Sep 2010 01:15:16 +0000 (18:15 -0700)
commitf4be30aa96c918540abf994cbf49393726ac0fc4
treee11c5ea0b69fb1bc53a03f83570e160dbe3b005f
parent4786b484a5886ce0ada26bc95c537d9ad2634f66
RDS/IB: get the xmit max_sge from the RDS IB device on the connection

rds_ib_xmit_rdma() was calling ib_get_client_data() to get at the rds_ibdevice
just to get the max_sge for the transmit.  This patch instead has it get it
directly off the rds_ibdev which is stored on the connection.

The current code won't free the rds_ibdev until all the IB connections that use
it are freed.  So it's safe to reference the rds_ibdev this way.  In the future
it also makes it easier to support proper reference counting of the rds_ibdev
struct.

As an additional bonus, this gets rid of the performance hit of calling in to
the IB stack to look up the rds_ibdev.  The current implementation in the IB
stack acquires an interrupt blocking spinlock to protect the registration of
client callback data.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
net/rds/ib_send.c