Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

io_poll and sqpoll cause IOPS degradation #1205

Closed
aidosww opened this issue Aug 14, 2024 · 1 comment
Closed

io_poll and sqpoll cause IOPS degradation #1205

aidosww opened this issue Aug 14, 2024 · 1 comment

Comments

@aidosww
Copy link

aidosww commented Aug 14, 2024

The configuration of io_poll and sqpoll results in file write performance degradation. The environment used is as follows:​
1、Linux kernel 5.10​ and kernel 6.2
2. The storage device is an SSD.​
3. With sqpoll and io_poll enabled:​
======IOPS (WRITE): 47147.57 in 2.12 seconds for 409468928 bytes​
When using the default configuration without enabling the feature:​
======IOPS (WRITE): 179856.12 in 0.56 seconds for 409468928 bytes

Can anyone help me? Thank you very much.

@axboe
Copy link
Owner

axboe commented Oct 31, 2024

SQPOLL doesn't magically make things faster. It's a way to offload submission to a dedicated thread, and leave the normal task free to do other things.

IOPOLL requires special nvme setup, setting the poll_queues parameter to assign specific pollable nvme queues. Without that, you're still using IRQ driven IO, with the only change being that you're now spinning looking for the completions generated by an IRQ. With a properly setup nvme device with pollable queues, no IRQs will be triggered, and the polling will actually do something useful.

@axboe axboe closed this as completed Oct 31, 2024
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

No branches or pull requests

2 participants