IB/ipath: Optimize completion queue entry insertion and polling
authorRalph Campbell <ralph.campbell@qlogic.com>
Fri, 7 Sep 2007 23:54:01 +0000 (16:54 -0700)
committerRoland Dreier <rolandd@cisco.com>
Wed, 10 Oct 2007 03:52:23 +0000 (20:52 -0700)
commit6cff2faaf135b602c914710f3414630c3fc1ee83
treea63266c7640b5739a6ab948194da0c7283229f96
parentd42b01b584b6f55f70c56f6a3dabc26f4982d30d
IB/ipath: Optimize completion queue entry insertion and polling

The code to add an entry to the completion queue stored the QPN which is
needed for the user level verbs view of the completion queue entry but
the kernel struct ib_wc contains a pointer to the QP instead of a QPN.
When the kernel polled for a completion queue entry, the QPN was lookup
up and the QP pointer recovered. This patch stores the CQE differently
based on whether the CQ is a kernel CQ or a user CQ thus avoiding the
QPN to QP lookup overhead.

Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/ipath/ipath_cq.c
drivers/infiniband/hw/ipath/ipath_verbs.h