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

nautilus: msg/async: avoid unnecessary costly wakeups for outbound messages #29141

Merged
merged 1 commit into from Jul 30, 2019

Conversation

@liewegas
Copy link
Member

commented Jul 19, 2019

backport of #28388

If a wakeup for an outbound message has already been scheduled or is
currently executing within the worker thread, avoid re-adding a wakeup.
For small IO sizes under high queue depths, these extra syscalls start
to add up. For larger IO sizes or small queue depths, it doesn't hurt
performance.

fio --ioengine=rbd results:

IOPS pre-change post-change
4K: 84.9k 98.3k
32K: 58.4k 59.5k
256K: 12.1k 12.2k
4M: 803 802

Signed-off-by: Jason Dillaman dillaman@redhat.com
(cherry picked from commit 294c41f)

msg/async: avoid unnecessary costly wakeups for outbound messages
If a wakeup for an outbound message has already been scheduled or is
currently executing within the worker thread, avoid re-adding a wakeup.
For small IO sizes under high queue depths, these extra syscalls start
to add up. For larger IO sizes or small queue depths, it doesn't hurt
performance.

fio --ioengine=rbd results:

IOPS	pre-change	post-change
4K:	84.9k		98.3k
32K:	58.4k		59.5k
256K:	12.1k		12.2k
4M:	803		802

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 294c41f)

@liewegas liewegas added this to the nautilus milestone Jul 19, 2019

@liewegas liewegas requested review from rjfd and dillaman Jul 19, 2019

@dillaman
Copy link
Contributor

left a comment

👍

@yuriw

This comment has been minimized.

Copy link
Contributor

commented Jul 24, 2019

@yuriw yuriw merged commit fe28705 into ceph:nautilus Jul 30, 2019

4 checks passed

Docs: build check OK - docs built
Details
Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
make check make check succeeded
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.