]> rtime.felk.cvut.cz Git - linux-imx.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)
commit5a33a6694942bc86e487d00cd8feebeae5f14546
treec12494add1644126fb8435e85bae72dd49269952
parent7a9a2970b5c1c2ce73d4bb84edaa7ebf13e0c841
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