> > +          /* HW requires >= 1 RQ entry with >= 1 gather entry */
 > > +          if (is_user && (!cap->max_recv_wr || !cap->max_recv_sge))
 > > +                  return -EINVAL;
 > 
 > I think we may have a problem here: if a user, not being aware of the HW
 > requirement of none zero length receive queue, creates a QP with zero in
 > cap->max_recv_sge, the above kernel code will cause a failure since
 > libmlx4 does not fix the value in this field. So I think this should be
 > taken care of in libmlx4.

OK, I'll add something to make sure max_recv_sge >= 1 to libmlx4.

 > +       /* Sanity check for SQ size */
 > +       if (ucmd->log_sq_bb_count > 15 || ucmd->log_sq_stride > 11)
 > +               return -EINVAL;
 > +
 > 
 > Shouldn't we use a condition like this to prevent misconfiguration of
 > the QP if libmlx4 passes improper values?

Yeah, I guess so.  I dropped that chunk because I didn't like the
hard-coded and unexplained values, but I left the checking on my to do
list.

Thanks...
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

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

Reply via email to