block: only mark bio as tracked if it really is tracked
authorJens Axboe <axboe@kernel.dk>
Sat, 16 Oct 2021 02:06:18 +0000 (20:06 -0600)
committerJens Axboe <axboe@kernel.dk>
Mon, 18 Oct 2021 14:50:47 +0000 (08:50 -0600)
commit90b8faa0e8de1b02b619fb33f6c6e1e13e7d1d70
tree2cb9222d749ed8f3d8f2aaedd7ca28aba9476c3c
parentb60876296847e6cd7f1da4b8b7f0f31399d59aa1
block: only mark bio as tracked if it really is tracked

We set BIO_TRACKED unconditionally when rq_qos_throttle() is called, even
though we may not even have an rq_qos handler. Only mark it as TRACKED if
it really is potentially tracked.

This saves considerable time for the case where the bio isn't tracked:

     2.64%     -1.65%  [kernel.vmlinux]  [k] bio_endio

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-rq-qos.h