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

Mark free blocks in pooled carriers as unused #2046

Conversation

Projects
None yet
1 participant
@jhogberg
Copy link
Contributor

commented Dec 6, 2018

This PR lets the OS reclaim the physical memory associated with free blocks in pooled carriers, reducing the impact of long-lived awkward allocations. A small allocated block will still keep a huge carrier alive, but the unused parts of the carrier will now be available to the OS.

(This is based on #1946 by @kvakvs.)

@jhogberg jhogberg self-assigned this Dec 6, 2018

Mark free blocks in pooled carriers as unused (MADV_FREE)
This lets the OS reclaim the physical memory associated with these
blocks which reduces the impact of long-lived awkward allocations.
A small allocated block will still keep a huge carrier alive, but
the unused part of the carrier will now be available to the OS.

Co-authored-by: Dmytro Lytovchenko <dmytro.lytovchenko@erlang-solutions.com>

@jhogberg jhogberg force-pushed the jhogberg:john/erts/mark-pooled-free-blocks-unused/OTP-15075 branch from 153bd5e to 1d549ed Dec 7, 2018

@jhogberg jhogberg merged commit 689f9d5 into erlang:master Dec 7, 2018

1 of 2 checks passed

continuous-integration/travis-ci/pr The Travis CI build is in progress
Details
license/cla Contributor License Agreement is signed.
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.