Messages in this thread | | | Date | Thu, 9 Apr 2020 09:44:06 +0800 | From | Ming Lei <> | Subject | Re: [PATCH 2/5] block: add request->io_data_len |
| |
Hi Tejun,
On Wed, Apr 08, 2020 at 04:14:47PM -0400, Tejun Heo wrote: > Currently, at the time of completeion, there's no way of knowing how big a > request was. blk-iocost will need this information to account for IO size when > calculating expected latencies. > > This patch adds rq->io_data_len which remembers blk_rq_bytes() at the time the > request gets issued. The field is enabled iff CONFIG_BLK_IO_DATA_LEN is set and > doesn't increase the size of the struct even when enabled.
Almost all __blk_mq_end_request() follow blk_update_request(), so the completed bytes can be passed to __blk_mq_end_request(), then we can avoid to introduce this field.
Also there is just 20 callers of __blk_mq_end_request(), looks this kind of change shouldn't be too big.
Thanks, Ming
| |