On Thu, 2017-08-03 at 14:01 -0600, Jens Axboe wrote:
> +static void blk_mq_check_inflight(struct blk_mq_hw_ctx *hctx,
> +                               struct request *rq, void *priv,
> +                               bool reserved)
> +{
> +     struct mq_inflight *mi = priv;
> +
> +     if (rq->part == mi->part)
> +             mi->inflight++;
> +}
> [ ... ]
> -static inline void part_inc_in_flight(struct request_queue *q,
> -                                   struct hd_struct *part, int rw)
> -{
> -     atomic_inc(&part->in_flight[rw]);
> -     if (part->partno)
> -             atomic_inc(&part_to_disk(part)->part0.in_flight[rw]);
> -}

Hello Jens,

The existing part_inc_in_flight() code includes all requests in the in_flight
statistics for part0 but the new code in blk_mq_check_inflight() not. Is that
on purpose? Should the rq->part == mi->part check perhaps be skipped if
mi->part represents part0?

Thanks,

Bart.

Reply via email to