diff --git a/block/blk-core.c b/block/blk-core.c index fc60ff208497..e34dfa13b7bc 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -1255,7 +1255,7 @@ static void update_io_ticks(struct block_device *part, unsigned long now, unsigned long stamp; again: stamp = READ_ONCE(part->bd_stamp); - if (unlikely(stamp != now)) { + if (unlikely(time_after(now, stamp))) { if (likely(cmpxchg(&part->bd_stamp, stamp, now) == stamp)) __part_stat_add(part, io_ticks, end ? now - stamp : 1); }