On 9/3/19 1:11 PM, Sagi Grimberg wrote: > >> + if (blk_integrity_rq(req) && req_op(req) == REQ_OP_READ && >> + error == BLK_STS_OK) >> + t10_pi_complete(req, >> + nr_bytes / queue_logical_block_size(req->q)); >> + > > div in this path? better to use >> ilog2(block_size). > > Also, would be better to have a wrapper in place like: > > static inline unsigned short blk_integrity_interval(struct request *rq) > { > return queue_logical_block_size(rq->q); > } If it's a hot path thing that matters, I'd strongly suggest to add a queue block size shift instead. -- Jens Axboe