IB/qib: Eliminate divide/mod in converting idx to egr buf pointer
The context init now saves a shift from rcvegrbufs_perchunk rcvegrbufs_perchunk_shift using ilog2. A BUG_ON() protects the power of 2 assumption. Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:

کامیت شده توسط
Roland Dreier

والد
cc6ea1385b
کامیت
9e1c0e4325
@@ -183,6 +183,9 @@ struct qib_ctxtdata *qib_create_ctxtdata(struct qib_pportdata *ppd, u32 ctxt)
|
||||
rcd->rcvegrbuf_chunks = (rcd->rcvegrcnt +
|
||||
rcd->rcvegrbufs_perchunk - 1) /
|
||||
rcd->rcvegrbufs_perchunk;
|
||||
BUG_ON(!is_power_of_2(rcd->rcvegrbufs_perchunk));
|
||||
rcd->rcvegrbufs_perchunk_shift =
|
||||
ilog2(rcd->rcvegrbufs_perchunk);
|
||||
}
|
||||
return rcd;
|
||||
}
|
||||
|
مرجع در شماره جدید
Block a user