]> git.ipfire.org Git - people/ms/linux.git/commit
IB/hfi1: Remove cache and embed txreq in ring
authorMike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
Mon, 13 Sep 2021 13:28:26 +0000 (09:28 -0400)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 27 Sep 2021 23:06:41 +0000 (20:06 -0300)
commitd47dfc2b00e69001c8eeae71f7e25066ccc36144
tree0bca7a5e3b00910361b7f2e3ff98e5fc5f273024
parent450f4f6aa1a369cc3ffadc1c7e27dfab3e90199f
IB/hfi1: Remove cache and embed txreq in ring

This patch removes kmem cache allocation and deallocation in favor of
having the ipoib_txreq in the ring.

The consumer is now the packet sending side allocating tx descriptors from
ring and the producer is the napi interrupt handling freeing tx
descriptors.

The locks are now eliminated because the napi tx lock insures a single
consumer and the napi handling insures a single producer.

The napi poll is converted to memory poll looking for items that have been
marked completed.

Fixes: d99dc602e2a5 ("IB/hfi1: Add functions to transmit datagram ipoib packets")
Link: https://lore.kernel.org/r/20210913132826.131370.4397.stgit@awfm-01.cornelisnetworks.com
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/hfi1/ipoib.h
drivers/infiniband/hw/hfi1/ipoib_tx.c