Skip to content

io_uring timeout may overrun significantly. #1635

Description

@toziegler

On Ubuntu kernel 7.0.0-22-generic, a submitted 10 ms io_uring timeout very
rarely blocks for hundreds of milliseconds:

expected timeout: 10 ms observed waits: 224 939 ms

In my testing I could see this with both:

  • IORING_ENTER_GETEVENTS | IORING_ENTER_EXT_ARG
  • classic IORING_OP_TIMEOUT

A minimal reproducer with one permanently pending POLL_ADD and repeated timeout waits reproduces the issue (an outstanding RECV also did reproduce it).
Example of the reproducer: SLOW iteration=327214 wait=939.594ms

With strace I could see observe the following:
io_uring_enter(... IORING_ENTER_GETEVENTS ...) <0.897755>

System-wide rtla timerlat showed low normal timer latency, with maxima around 24 us.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions