All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net/for-next V1 0/1] IB/ipoib: break linkage to neighbouring system
@ 2012-07-19 13:18 Or Gerlitz
       [not found] ` <1342703938-29904-1-git-send-email-ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
  0 siblings, 1 reply; 20+ messages in thread
From: Or Gerlitz @ 2012-07-19 13:18 UTC (permalink / raw)
  To: roland-DgEjT+Ai2ygdnm+yROfE0A, davem-fT/PcQaiUtIeIZ0/mPfg9Q
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, erezsh-VPRAkNaXOzVWk0Htik3J/w,
	Or Gerlitz, Shlomo Pongratz

changes from V0:

- following feedback from Mike and Dave, changed the ipoib_neigh hash table 
  to allow for lock-free read side, the model follows the RCU based implementation 
  in net/core/neighbour.c

- since RCU hash table uses unidirectional collision list, now ipoib_neigh_free 
  needs to do a linked search in order to find the deleted neighbour predecessor 
  in order to link it to the neighbour successor.

- different implementation of hash lookup in ipoib_neigh_get (read-side) 
  vs ipoib_neigh_alloc and ipoib_neigh_free (write-side)

- path_free and ipoib_mcast_free now make use of the ipoib_del_neighs_by_gid helper 
  function in order to delete neighbours related to that path or mcast. This new helper 
  scans the hash table and deletes neighbours with the given GID. It had to be done 
  this way of as  of the unidrectional nature of the linking which by itself 
  arises from the lock free requirement made here...

- a completion mechanism was added to prevent freeing the IPoIB netdevice priv 
  data structure before the RCU based code freed all the neighbours.

Again, the patch was made over net-next as of few IPoIB changes that 
took place there and the parallel submission of the eIPoIB driver. 

Or.

Shlomo Pongratz (1):
  IB/ipoib: break linkage to neighbouring system

 drivers/infiniband/ulp/ipoib/ipoib.h           |   59 ++-
 drivers/infiniband/ulp/ipoib/ipoib_cm.c        |   16 +-
 drivers/infiniband/ulp/ipoib/ipoib_main.c      |  638 +++++++++++++++++------
 drivers/infiniband/ulp/ipoib/ipoib_multicast.c |   57 +--
 4 files changed, 535 insertions(+), 235 deletions(-)

Cc: Shlomo Pongratz <shlomop-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2012-07-24 14:24 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-19 13:18 [PATCH net/for-next V1 0/1] IB/ipoib: break linkage to neighbouring system Or Gerlitz
     [not found] ` <1342703938-29904-1-git-send-email-ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2012-07-19 13:18   ` [PATCH net/for-next V1 1/1] " Or Gerlitz
     [not found]     ` <1342703938-29904-2-git-send-email-ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2012-07-19 13:30       ` Or Gerlitz
2012-07-19 14:42       ` Christoph Lameter
     [not found]         ` <alpine.DEB.2.00.1207190938190.28115-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2012-07-19 15:02           ` Shlomo Pongartz
     [not found]             ` <50082183.5000402-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2012-07-19 15:24               ` Christoph Lameter
     [not found]                 ` <alpine.DEB.2.00.1207191023130.29808-sBS69tsa9Uj/9pzu0YdTqQ@public.gmane.org>
2012-07-19 16:20                   ` Or Gerlitz
2012-07-19 16:20                     ` Or Gerlitz
     [not found]                     ` <500833D9.8000001-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2012-07-19 17:08                       ` David Miller
     [not found]                         ` <20120719.100850.1932622478297549573.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2012-07-22  5:29                           ` Or Gerlitz
2012-07-22  5:29                             ` Or Gerlitz
     [not found]                             ` <500B8FBE.4030600-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2012-07-24 14:24                               ` Christoph Lameter
2012-07-24 14:23                       ` Christoph Lameter
2012-07-19 15:40       ` David Miller
     [not found]         ` <20120719.084016.1751501566918893035.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2012-07-19 15:54           ` Or Gerlitz
2012-07-20 15:49     ` Or Gerlitz
     [not found]       ` <CAJZOPZ+kRcBjJgB_HaMqeuB5E-SLSqskgoaLZ_hvVx4KffHgpA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-07-23 16:58         ` Or Gerlitz
2012-07-23 16:58           ` Or Gerlitz
2012-07-23 17:17           ` Eric Dumazet
2012-07-23 18:37             ` Or Gerlitz

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.