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

os/bluestore/BlueFS: clean up log_writer aios from compaction #16017

Merged
merged 1 commit into from Jul 8, 2017

Conversation

Projects
None yet
2 participants
@liewegas
Member

liewegas commented Jun 29, 2017

Normally any time we wait for aios and flush the device we go through
_flush_bdev_safely(), which takes the completed aios off of the IOContext
and discards them, releasing memory. However, compaction does not use
that method because it does not (currently) drop the lock while doing the
flush, which means we slowly leak memory after each internal log
compaction.

Fix by explicitly releasing these aios, similar to _flush_bdev_safely().

Fixes: http://tracker.ceph.com/issues/20454
Signed-off-by: Sage Weil sage@redhat.com

os/bluestore/BlueFS: clean up log_writer aios from compaction
Normally any time we wait for aios and flush the device we go through
_flush_bdev_safely(), which takes the completed aios off of the IOContext
and discards them, releasing memory.  However, compaction does not use
that method because it does not (currently) drop the lock while doing the
flush, which means we slowly leak memory after each internal log
compaction.

Fix by explicitly releasing these aios, similar to _flush_bdev_safely().

Fixes: http://tracker.ceph.com/issues/20454
Signed-off-by: Sage Weil <sage@redhat.com>
@ifed01

This comment has been minimized.

Show comment
Hide comment
@ifed01

ifed01 Jun 29, 2017

Contributor

FYI: This patch doesn't fix http://tracker.ceph.com/issues/20385

Contributor

ifed01 commented Jun 29, 2017

FYI: This patch doesn't fix http://tracker.ceph.com/issues/20385

@liewegas liewegas modified the milestone: luminous Jul 6, 2017

@liewegas liewegas merged commit f3e0847 into ceph:master Jul 8, 2017

4 checks passed

Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
default Build finished.
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