]> www.infradead.org Git - users/jedix/linux-maple.git/commit
mlx4_ib: add blue flame support for kernel consumers
authorEli Cohen <eli@mellanox.co.il>
Mon, 19 Nov 2012 11:33:28 +0000 (13:33 +0200)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 7 Jul 2015 21:38:11 +0000 (14:38 -0700)
commitfd39442aa637811a064d8a39e26cb0bb0b7c3e2d
treeeb590fc3025185c044ec9f4b134de91ea48720d4
parenta6f7793000df068282d07ff732342dd2ea92f17c
mlx4_ib: add blue flame support for kernel consumers

Using blue flame can improve latency by allowing the HW to more
efficiently access the WQE. A consumer who wants to use blue flame,
has to create the QP with inline support. When posting a send WR,
the consumer has to set IB_SEND_INLINE in the send flags. This
approach is similar to that take in userspace; that is, in order
to use blue flame you must use inline. However, if the send WR is
too large for blue flame, it will only use inline.

A kernel consumer that creates a QP with inline support, will be
allocated a UAR and a blue flame register. All QP doorbells will
be set to the UAR and blue flame posts to the blue flame register.
We make use of all available registers in a blue flame page.

Signed-off-by: Eli Cohen <eli@mellanox.co.il>
Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
(Ported from Mellanox OFED 2.4)

Signed-off-by: Mukesh Kacker <mukesh.kacker@oracle.com>
drivers/infiniband/hw/mlx4/cq.c
drivers/infiniband/hw/mlx4/main.c
drivers/infiniband/hw/mlx4/mlx4_ib.h
drivers/infiniband/hw/mlx4/qp.c