public inbox for linux-block@vger.kernel.org
 help / color / mirror / Atom feed
* 10x I/O await times in 6.12
@ 2025-04-21  8:53 Matt Fleming
  2025-04-21 12:21 ` Yu Kuai
  2025-04-21 15:22 ` Keith Busch
  0 siblings, 2 replies; 16+ messages in thread
From: Matt Fleming @ 2025-04-21  8:53 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-block, linux-kernel, kernel-team

Hey there,

We're moving to 6.12 at Cloudflare and noticed that write await times
in iostat are 10x what they were in 6.6. After a bit of bpftracing
(script to find all plug times above 10ms below), it seems like this
is an accounting error caused by the plug->cur_ktime optimisation
rather than anything more material.

It appears as though a task can enter __submit_bio() with ->plug set
and a very stale cur_ktime value on the order of milliseconds. Is this
expected behaviour? It looks like it leads to inaccurate I/O times.

Thanks,
Matt

---->8----
$ sudo bpftrace -e 'k:__submit_bio { $p = curtask->plug; if ($p != 0)
{ if (((nsecs - $p->cur_ktime) / 1000) > 10000) { @[kstack] =
count();}}}'
Attaching 1 probe...
^C

@[
    __submit_bio+1
    submit_bio_noacct_nocheck+390
    submit_bio_wait+92
    swap_writepage_bdev_sync+262
    swap_writepage+315
    pageout+291
    shrink_folio_list+1835
    shrink_lruvec+1683
    shrink_node+784
    balance_pgdat+877
    kswapd+496
    kthread+207
    ret_from_fork+49
    ret_from_fork_asm+26
]: 184
@[
    __submit_bio+1
    submit_bio_noacct_nocheck+390
    _xfs_buf_ioapply+599
    __xfs_buf_submit+110
    xfs_buf_delwri_submit_buffers+399
    xfsaild+691
    kthread+207
    ret_from_fork+49
    ret_from_fork_asm+26
]: 28123

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2026-04-23 18:18 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-21  8:53 10x I/O await times in 6.12 Matt Fleming
2025-04-21 12:21 ` Yu Kuai
2025-04-23 10:51   ` Matt Fleming
2025-04-24  2:35     ` Yu Kuai
2025-05-01  9:52       ` Matt Fleming
2026-04-23 18:18   ` Matt Fleming
2025-04-21 15:22 ` Keith Busch
2025-04-21 18:35   ` Matt Fleming
2025-04-21 18:53     ` Keith Busch
2025-04-21 19:10       ` Matt Fleming
2025-04-22  1:39         ` Yu Kuai
2025-04-22  1:28   ` Yu Kuai
2025-04-22  1:39     ` Keith Busch
2025-04-22  3:02       ` Yu Kuai
2025-04-22 10:45         ` Matt Fleming
2025-04-23  3:36           ` Yu Kuai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox