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>
         * BIO_TRACKED lets controllers know that a bio went through the
         * normal rq_qos path.
         */
-       bio_set_flag(bio, BIO_TRACKED);
-       if (q->rq_qos)
+       if (q->rq_qos) {
+               bio_set_flag(bio, BIO_TRACKED);
                __rq_qos_throttle(q->rq_qos, bio);
+       }
 }
 
 static inline void rq_qos_track(struct request_queue *q, struct request *rq,