[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aAYzPYGR_eF7qveO@infradead.org>
Date: Mon, 21 Apr 2025 04:59:57 -0700
From: Christoph Hellwig <hch@...radead.org>
To: Yu Kuai <yukuai1@...weicloud.com>
Cc: axboe@...nel.dk, xni@...hat.com, agk@...hat.com, snitzer@...nel.org,
mpatocka@...hat.com, song@...nel.org, yukuai3@...wei.com,
viro@...iv.linux.org.uk, akpm@...ux-foundation.org,
nadav.amit@...il.com, ubizjak@...il.com, cl@...ux.com,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
dm-devel@...ts.linux.dev, linux-raid@...r.kernel.org,
yi.zhang@...wei.com, yangerkun@...wei.com, johnny.chenyi@...wei.com
Subject: Re: [PATCH v2 1/5] block: cleanup and export bdev IO inflight APIs
On Fri, Apr 18, 2025 at 09:09:37AM +0800, Yu Kuai wrote:
> - remove unused blk_mq_in_flight
That should probably be a separate patch.
> - rename blk_mq_in_flight_rw to blk_mq_count_in_driver_rw, to distinguish
> from bdev_count_inflight_rw.
I'm not sure why this is needed or related, or even what additional
distinction is added here.
> -
> -void blk_mq_in_flight_rw(struct request_queue *q, struct block_device *part,
> - unsigned int inflight[2])
> +void blk_mq_count_in_driver_rw(struct request_queue *q,
> + struct block_device *part,
> + unsigned int inflight[2])
Any reason to move away from two tab indents for the prototype
continuations in various places in this patch?
> + * Noted, for rq-based block device, use blk_mq_count_in_driver_rw() to get the
> + * number of requests issued to driver.
I'd just change this helper to call blk_mq_count_in_driver_rw for
blk-mq devices and remove the conditional from the sysfs code instead.
That gives us a much more robust and easier to understand API.
> +void bdev_count_inflight_rw(struct block_device *bdev, unsigned int inflight[2]);
Overly long line.
> +static inline unsigned int bdev_count_inflight(struct block_device *bdev)
> +{
> + unsigned int inflight[2];
> +
> + bdev_count_inflight_rw(bdev, inflight);
> +
> + return inflight[0] + inflight[1];
> +}
> #endif /* _LINUX_PART_STAT_H */
Maybe keep this inside of block as it should not not be used by
drivers? Also the reimplementation should probably be a separate
patch from the public API change and exporting.
Powered by blists - more mailing lists