On Sun, Sep 09, 2018 at 10:03:35AM +0200, Klaus Kusche wrote:
>
> Hello,
>
> Which subsystem could be responsible for
>
> https://bugzilla.kernel.org/show_bug.cgi?id=200857
>
> ("4.18 regression: /proc/diskstats: I/O busy time not updated correctly")?
>
> This is for AHCI SATA disks (/dev/sda, /dev/sdb, ...),
> and the busy time reported by /proc/diskstats for SSD's is still (4.18.6)
> to low by at least a factor of 20 (!).
>
> Many thanks in advance for your help!
This was probably 522a777566f5 ("block: consolidate struct request
timestamp fields"). Not the proper fix, but can you try the following:
diff --git a/block/blk-core.c b/block/blk-core.c
index 4dbc93f43b38..663430090281 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -2738,7 +2738,7 @@ void blk_account_io_done(struct request *req, u64 now)
struct hd_struct *part;
int cpu;
- duration = nsecs_to_jiffies(now - req->start_time_ns);
+ duration = max(nsecs_to_jiffies(now - req->start_time_ns), 1);
cpu = part_stat_lock();
part = req->part;