On Sun, Oct 04, 2009 at 10:12:16AM +0200, Or Gerlitz wrote:
>> Also, this patch will cause IB_DEVICE_UD_TSO to be set only of FW versions 
>> that set MLX4_DEV_CAP_FLAG_BLH; e.g. FW version 2.6.000 and higher.
> warning to users having an older firmware installed?

I am not sure this deserves a warning - after all it's just that the
feature is not supported.

> So the driver doesn't use the actual value of the max_gso_sz capability,  
> isn't this a bug?  the BLH bit  (any reason not the mention in the  
> change-log what these three letters stand for...?) serves you to support  
> large LSO headers, but isn't enough, max_gso_sz is related to the  
> payload and should be used, I think.
>
According to the spec, for LSO to be supported at all, max_gso_sz must
be none zero. Moreover, for BLH to be supported (BLH stands for Big
LSO Header), the MLX4_DEV_CAP_FLAG_BLH flag must be set and hence the
condition on both of them.


>>      if (dev->dev->caps.bmme_flags & MLX4_BMME_FLAG_RESERVED_LKEY)
>>              props->device_cap_flags |= IB_DEVICE_LOCAL_DMA_LKEY;
>> diff --git a/drivers/infiniband/hw/mlx4/qp.c 
>> b/drivers/infiniband/hw/mlx4/qp.c
>> index 219b103..1b356cf 100644
>> --- a/drivers/infiniband/hw/mlx4/qp.c
>> +++ b/drivers/infiniband/hw/mlx4/qp.c
>> @@ -261,7 +261,7 @@ static int send_wqe_overhead(enum ib_qp_type type, u32 
>> flags)
>>      case IB_QPT_UD:
>>              return sizeof (struct mlx4_wqe_ctrl_seg) +
>>                      sizeof (struct mlx4_wqe_datagram_seg) +
>> -                    ((flags & MLX4_IB_QP_LSO) ? 64 : 0);
>> +                    ((flags & MLX4_IB_QP_LSO) ? 128 : 0);
> 64 , 128 ... here and later in build_lso_seg ,  how about defining some  
> human readable something?

OK, I will replace with an enum.
--
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