Hi Doug,

During the RoCE GID cache changes, we used a per-entry rwlock. This could cause
a major overhead when traversing the GID table. We could spend thousands of
cycles just by locking and unlocking entries. This change was requested by
Doug.

In order to solve that, we moved to one table lock. find_gid is also optimized
to find an empty slot while traversing the GID table (when needed).

Regards,
Matan

Matan Barak (3):
  IB/core: Refactor GID cache's ib_dispatch_event
  IB/core: Change per-entry lock in RoCE GID table to one lock
  IB/core: Find gid searches for empty slot while traversing the GID
    table

 drivers/infiniband/core/cache.c | 209 ++++++++++++++++++++++++++--------------
 1 file changed, 134 insertions(+), 75 deletions(-)

-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to