<br><br>
<div><span class="gmail_quote">On 5/18/07, <b class="gmail_sendername">Roland Dreier</b> <<a href="mailto:rdreier@cisco.com">rdreier@cisco.com</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">This looks a little busted:<br><br>>  struct mlx4_ib_create_qp {<br>>      __u64   buf_addr;<br>>      __u64   db_addr;
<br>> +    __u64   rq_size;<br>> +    __u64   sq_size;<br>> +    __u8    rcv_wqe_shift;<br>> +    __u8    log_wqe_bb;<br>>  };<br><br>the structure ends up not aligned to a multiple of 8 bytes, so it ends<br>
up having a size of 36 bytes on 32-bit setups and 40 bytes on 64-bit<br>setups, which might mess up 32-bit userspace on 64-bit kernels.<br><br>Also I don't understand why you made rq_size and sq_size 64 bits<br>anyway?  It seems they could never be more than 16 bits, although to
<br>be safe perhaps 32 bits is best.  So I'll fix this up to look like<br>this (with names that seem more self-documenting to me):<br><br>struct mlx4_ib_create_qp {<br>       __u64   buf_addr;<br>       __u64   db_addr;
<br>       __u32   rq_wqe_count;<br>       __u32   rq_wqe_shift;<br>       __u32   sq_wqebb_count;<br>       __u32   sq_wqebb_shift;<br>};<br><br>am I missing some hidden reason to make those fields 64 bits?</blockquote>
<div> </div>
<div>Well, I was just not sure why the casting to ulntptr_t was needed and decided to use 64 bit varaiables which obviously are an overkill.</div><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">_______________________________________________<br>general mailing list<br><a href="mailto:general@lists.openfabrics.org">
general@lists.openfabrics.org</a><br><a href="http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general">http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general</a><br><br>To unsubscribe, please visit <a href="http://openib.org/mailman/listinfo/openib-general">
http://openib.org/mailman/listinfo/openib-general</a><br></blockquote></div><br>