All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Convert IB/mad to use an IDR for agent IDs
@ 2018-06-08 17:42 Matthew Wilcox
  2018-06-08 17:42 ` [PATCH 1/2] IB/mad: Agent registration is process context only Matthew Wilcox
  2018-06-08 17:42 ` [PATCH 2/2] IB/mad: Use IDR for agent IDs Matthew Wilcox
  0 siblings, 2 replies; 20+ messages in thread
From: Matthew Wilcox @ 2018-06-08 17:42 UTC (permalink / raw)
  To: hans.westgaard.ry, Doug Ledford, Jason Gunthorpe
  Cc: Matthew Wilcox, linux-rdma, Håkon Bugge, Parav Pandit,
	Jack Morgenstein, Pravin Shedge, linux-kernel

From: Matthew Wilcox <mawilcox@microsoft.com>

Compared to the RFC I sent yesterday, this version retains the per-port
spinlock for use when looking up the MAD agent by vendor/class/etc.
Now we should only see a performance improvement relative to the current
code.  We should see that improvement two different ways: interrupts
remain enabled and no spinlock is taken when doing a lookup in the IDR,
and we don't walk a linked list looking for the right agent; we just
walk the (low height) tree and find the correct agent.

There are more improvements that could be made, but this fixes the mlx4
bug that Hans reported.

Matthew Wilcox (2):
  IB/mad: Agent registration is process context only
  IB/mad: Use IDR for agent IDs

 drivers/infiniband/core/mad.c      | 90 ++++++++++++++++++------------
 drivers/infiniband/core/mad_priv.h |  7 ++-
 include/linux/idr.h                |  9 +++
 3 files changed, 66 insertions(+), 40 deletions(-)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2018-06-13  7:56 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-08 17:42 [PATCH 0/2] Convert IB/mad to use an IDR for agent IDs Matthew Wilcox
2018-06-08 17:42 ` [PATCH 1/2] IB/mad: Agent registration is process context only Matthew Wilcox
2018-06-12 20:38   ` Jason Gunthorpe
2018-06-08 17:42 ` [PATCH 2/2] IB/mad: Use IDR for agent IDs Matthew Wilcox
2018-06-10  6:30   ` Leon Romanovsky
2018-06-10 10:43     ` Matthew Wilcox
2018-06-10 12:25       ` Leon Romanovsky
2018-06-10 20:30         ` Jason Gunthorpe
2018-06-11  4:34           ` Leon Romanovsky
2018-06-11  4:42             ` Jason Gunthorpe
2018-06-11  6:19               ` jackm
2018-06-11 16:19                 ` Jason Gunthorpe
2018-06-12  4:59                   ` jackm
2018-06-12 14:33                     ` Jason Gunthorpe
2018-06-12  8:50   ` jackm
2018-06-12 12:12     ` Matthew Wilcox
2018-06-12 20:33   ` Jason Gunthorpe
2018-06-13  0:07     ` Matthew Wilcox
2018-06-13  7:36       ` Leon Romanovsky
2018-06-13  7:56   ` jackm

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.