Re: [ewg] [PATCHv8 02/11] ib_core: IBoE support only QP1

2010-05-17 Thread Eli Cohen
On Thu, May 13, 2010 at 10:35:14AM -0700, Roland Dreier wrote: One reason is that get_src_path_mask() may access ah_lock. I don't see that: static u8 get_src_path_mask(struct ib_device *device, u8 port_num) { struct ib_sa_device *sa_dev; struct ib_sa_port *port;

Re: [ewg] [PATCHv8 02/11] ib_core: IBoE support only QP1

2010-05-15 Thread Or Gerlitz
Eli Cohen wrote: Roland Dreier wrote: @@ -1007,7 +1010,7 @@ static void ib_sa_add_one(struct ib_device *device) - sa_dev = kmalloc(sizeof *sa_dev + + sa_dev = kzalloc(sizeof *sa_dev + Do you happen to remember why you needed these kmalloc - kzalloc conversions? I can't remember

Re: [ewg] [PATCHv8 02/11] ib_core: IBoE support only QP1

2010-05-13 Thread Eli Cohen
On Wed, May 12, 2010 at 12:56:58PM -0700, Roland Dreier wrote: @@ -1017,9 +1020,12 @@ static void ib_sa_add_one(struct ib_device *device) sa_dev-end_port = e; for (i = 0; i = e - s; ++i) { + spin_lock_init(sa_dev-port[i].ah_lock); + if

Re: [ewg] [PATCHv8 02/11] ib_core: IBoE support only QP1

2010-05-13 Thread Roland Dreier
Also I'm wondering why you did the count stuff to ignore IBoE-only devices in multicast.c but not sa_query.c? It seems to me the right place to put this logic as the mutlicast code registers as an IB client and the add_one implemntation is multicast.c. Right, I'm not saying it

Re: [ewg] [PATCHv8 02/11] ib_core: IBoE support only QP1

2010-05-13 Thread Eli Cohen
On Thu, May 13, 2010 at 08:48:06AM -0700, Roland Dreier wrote: Right, I'm not saying it shouldn't be in multicast.c. I'm just wondering why you don't have the same thing for sa_query.c. One reason is that get_src_path_mask() may access ah_lock. -- To unsubscribe from this list: send the

Re: [ewg] [PATCHv8 02/11] ib_core: IBoE support only QP1

2010-05-13 Thread Roland Dreier
One reason is that get_src_path_mask() may access ah_lock. I don't see that: static u8 get_src_path_mask(struct ib_device *device, u8 port_num) { struct ib_sa_device *sa_dev; struct ib_sa_port *port; unsigned long flags; u8 src_path_mask; sa_dev =