Hal Rosenstock wrote:
> Hi Yosef,
> 
> On Mon, 2007-05-07 at 10:18, Yosef Etigin wrote:
> 
>>Michael S. Tsirkin wrote:
>>
>>>>@@ -1865,6 +1863,15 @@ static void ib_mad_recv_done_handler(str
>>>>    recv->header.recv_wc.recv_buf.mad = &recv->mad.mad;
>>>>    recv->header.recv_wc.recv_buf.grh = &recv->grh;
>>>>
>>>>+   /* update our lmc cache with port info smps */
>>>>+   if ((recv->mad.mad.mad_hdr.mgmt_class == IB_MGMT_CLASS_SUBN_LID_ROUTED 
>>>>||
>>>>+        recv->mad.mad.mad_hdr.mgmt_class == 
>>>>IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE)
>>>>+       && (recv->mad.mad.mad_hdr.attr_id == IB_SMP_ATTR_PORT_INFO)
>>>>+           && (recv->mad.mad.mad_hdr.method == IB_MGMT_METHOD_SET))
>>>>+   {
>>>>+           atomic_set(&port_priv->port_lmc, recv->mad.smp.data[34] & 0x7);
>>>>+   }
>>>>+
>>>>    if (atomic_read(&qp_info->snoop_count))
>>>>            snoop_recv(qp_info, &recv->header.recv_wc, IB_MAD_SNOOP_RECVS);
>>>>
>>>
>>>
>>>Why is this an atomic?
>>
>>I thought there might be a race between this and where we read the lmc 
>>(rcv_has_same_gid)
>>
>>
>>>The comment does not seem to tell us anything useful. Remove it?
>>>These 8 lines seem to violate coding style rules in at least 3 different 
>>>ways::)
>>>
>>
>>      if ((recv->mad.mad.mad_hdr.mgmt_class == IB_MGMT_CLASS_SUBN_LID_ROUTED 
>> ||
>>               recv->mad.mad.mad_hdr.mgmt_class == 
>> IB_MGMT_CLASS_SUBN_DIRECTED_ROUTE)
>>              && (recv->mad.mad.mad_hdr.attr_id == IB_SMP_ATTR_PORT_INFO)
>>              && (recv->mad.mad.mad_hdr.method == IB_MGMT_METHOD_SET))
>>              atomic_set(&port_priv->port_lmc, recv->mad.smp.data[34] & 0x7);
> 
> 
> Should at least a #define be used for smp.data[34} if not a struct so it
> is clearer what is going on here ?
> 

you mean something like:
#define LMC_FROM_PORT_INFO(data) ( ( (char*)(data) )[34] & 0x07 ) ?

> I haven't yet had a chance to look at the rest of the patch.
> 
> -- Hal
> 
> 
>>is that better?
>>_______________________________________________
>>general mailing list
>>general@lists.openfabrics.org
>>http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
>>
>>To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
> 
> 

_______________________________________________
general mailing list
general@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to