]> git.baikalelectronics.ru Git - kernel.git/commit
IB/iser: Add more RX CQs to scale out processing of SCSI responses
authorAlex Tabachnik <alext@mellanox.com>
Sun, 23 Sep 2012 15:17:44 +0000 (15:17 +0000)
committerRoland Dreier <roland@purestorage.com>
Thu, 4 Oct 2012 04:26:49 +0000 (21:26 -0700)
commitddcec14353b7be55435c7bb3adfc5c313678be03
treec12494add1644126fb8435e85bae72dd49269952
parent9676e8245b1e5b8e5a3d5d546a4afcf2b4c26944
IB/iser: Add more RX CQs to scale out processing of SCSI responses

RX/TX CQs will now be selected from a per HCA pool.  For the RX flow
this has the effect of using different interrupt vectors when using
low level drivers (such as mlx4) that map the "vector" param provided
by the ULP on CQ creation to a dedicated IRQ/MSI-X vector.  This
allows the RX flow processing of IO responses to be distributed across
multiple CPUs.

QPs (--> iSER sessions) are assigned to CQs in round robin order using
the CQ with the minimum number of sessions attached to it.

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Alex Tabachnik <alext@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/ulp/iser/iscsi_iser.h
drivers/infiniband/ulp/iser/iser_verbs.c