Skip to content

Interrupt coalescing - #40

Open
ak0rz wants to merge 2 commits into
yandex-cloud:masterfrom
ak0rz:interrupt-coalescing
Open

Interrupt coalescing#40
ak0rz wants to merge 2 commits into
yandex-cloud:masterfrom
ak0rz:interrupt-coalescing

Conversation

@ak0rz

@ak0rz ak0rz commented Mar 15, 2026

Copy link
Copy Markdown
Contributor

Implements interrupt coalescing with configurable interval to relieve syscall churn on libvhost and QEMU/KVM side while trading off some latency.

By default coalescing interval is not set (0), effectively restoring existing behavior.

With virtiofs shortcut (immediate response in do_read / do_write), 1 vhd_run_queue thread - 250k IOPS (aarch64)

image

Same with 10 us coalescing - 316k IOPS

image

@d-tatianin

Copy link
Copy Markdown
Collaborator

A few tests keep exploding, I've tried multiple times so I guess not a false positive?

Implements interrupt coalescing with configurable interval to relieve syscall churn on libvhost and QEMU/KVM side while trading off some latency.

By default coalescing interval is not set (0), effectively restoring existing behavior.

Signed-off-by: Andrey Korzinev <ak@nebius.com>
@ak0rz

ak0rz commented May 28, 2026

Copy link
Copy Markdown
Contributor Author

@d-tatianin sorry for the delay. Thanks to @budevg, now tests are passing :)

@senya

senya commented Jun 5, 2026

Copy link
Copy Markdown

Hi!

  1. Please rebase, so that we have history without merge commits

  2. That's too much in one commit to review. Please split into several smaller commits. At least, it seems possible to separate time helper functions into preparation commits, and realization of polling to the separate commit. Probably some interfaces may be split from their realizations.

  3. Please use more detailed commit messages, answering what?, why? and how? questions about patch content.

@budevg

budevg commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Also we probably need to add tests for it since currently the interrupt coalescing option is never enabled in ut

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants