diff options
author | Omar Sandoval <osandov@fb.com> | 2018-05-09 05:08:53 -0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2018-05-09 10:33:09 -0400 |
commit | 522a777566f5669606a1227bf13f3fb40963780b (patch) | |
tree | 7d37c9d591e5a9abb4fd1209f1c503ae1a0e8475 /block/blk.h | |
parent | 4bc6339a583cec650b05d6fdcc83f03f941c1a3b (diff) |
block: consolidate struct request timestamp fields
Currently, struct request has four timestamp fields:
- A start time, set at get_request time, in jiffies, used for iostats
- An I/O start time, set at start_request time, in ktime nanoseconds,
used for blk-stats (i.e., wbt, kyber, hybrid polling)
- Another start time and another I/O start time, used for cfq and bfq
These can all be consolidated into one start time and one I/O start
time, both in ktime nanoseconds, shaving off up to 16 bytes from struct
request depending on the kernel config.
Signed-off-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk.h')
-rw-r--r-- | block/blk.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/block/blk.h b/block/blk.h index b034fd2460c4..eaf1a8e87d11 100644 --- a/block/blk.h +++ b/block/blk.h | |||
@@ -186,7 +186,7 @@ unsigned int blk_plug_queued_count(struct request_queue *q); | |||
186 | 186 | ||
187 | void blk_account_io_start(struct request *req, bool new_io); | 187 | void blk_account_io_start(struct request *req, bool new_io); |
188 | void blk_account_io_completion(struct request *req, unsigned int bytes); | 188 | void blk_account_io_completion(struct request *req, unsigned int bytes); |
189 | void blk_account_io_done(struct request *req); | 189 | void blk_account_io_done(struct request *req, u64 now); |
190 | 190 | ||
191 | /* | 191 | /* |
192 | * EH timer and IO completion will both attempt to 'grab' the request, make | 192 | * EH timer and IO completion will both attempt to 'grab' the request, make |