Hi,
在 2025/04/21 19:59, Christoph Hellwig 写道:
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.
ok
- 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.
Because for rq-based device, there are two different stage,
blk_account_io_start() while allocating new rq, and
blk_mq_start_request() while issuing the rq to driver.
When will we think the reqeust is inflight? For iostat, my anser is the
former one, because rq->start_time_ns is set here as well. And noted in
iostats api diskstats_show(/proc/diskstats) and part_stat_show
(/sys/block/sda/stat), inflight is get by part_in_flight, which is
different from disk sysfs api(/sys/block/sda/inflight).
-
-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.
Ok, and another separate patch, right?
+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.
ok, and I should probably send the first set just related to this patch
first.
Thanks,
Kuai
.