]> www.infradead.org Git - users/jedix/linux-maple.git/commit
rds_rdma: allocate FMR according to max_item_soft
authorWengang Wang <wen.gang.wang@oracle.com>
Tue, 4 Aug 2015 08:27:08 +0000 (16:27 +0800)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Wed, 12 Aug 2015 22:44:26 +0000 (15:44 -0700)
commit5660542fb74b493cb469ec8c27fb6927e01f2934
tree00d252832ff778e0db24e3eabc2f2705d3ffb920
parent63e56ae255b533f1d880b1f081a2e16131839e80
rds_rdma: allocate FMR according to max_item_soft

When max_item on the pool is very large(say 170000), large number of
alloc_fmr request would fail with -EGAIN. This can greatly hurt
performance.

Actually, whether it is going to allocate or wait for pool flush
should be according to "max_item_soft" rather than "max_item" because
we are resizing the pool by changing "max_item_soft" not max_item.

Also, when successfully allocated a lower layer fmr, we should increase
"max_item_soft" incrementally, not set it immediately to "max_item".

Orabug: 21551548

Signed-off-by: Wengang Wang <wen.gang.wang@oracle.com>
Reviewed-by: Chien-Hua Yen <chien.yen@oracle.com>
net/rds/ib_rdma.c