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

Slabs #2756

Merged
merged 2 commits into from May 10, 2021
Merged

Slabs #2756

merged 2 commits into from May 10, 2021

Conversation

rbtcollins
Copy link
Contributor

@rbtcollins rbtcollins commented May 5, 2021

be smarter about memory management to reduce hypothetical memory fragmentation

@kinnison
Copy link
Contributor

kinnison commented May 8, 2021

Hiding the 'using 500.0MiB' message has broken a number of the 'exact' tests I think.

We think we have memory fragmentation causing failed extraction in
Windows containers and smaller Unix devices.

Writes of both full objects and streamed objects now re-use the Vec via
a sharded-slab implementation. To facilitate the more complicated memory
logic, buffer limit management is now integrated into the IO Executor:
the immediate executor doesn't limit at all as no outstanding buffers
occur, and the threaded executor tracks both the total allocated buffers
as well as whether a reusable buffer is available.
@kinnison
Copy link
Contributor

kinnison commented May 8, 2021

I think this is looking good. I'd just like to know what the memory consumption difference is between 1.24.1 and this for Windows runs, because my gut feeling is that it's using more RAM under Linux, though that may simply be that it's being more efficient with the RAM I have.

@kinnison
Copy link
Contributor

kinnison commented May 8, 2021

I have asked someone on #2759 to try an artifact from this PR.

@rbtcollins
Copy link
Contributor Author

I have a number of non-rustup things to do: it will be a week or so before I can sit down and dig up a massif or similar for windows.

@kinnison
Copy link
Contributor

Based on the experience in #2759 I'm going to merge this so we can push out a 1.24.2 for beta again.

@kinnison kinnison merged commit 5e43c1e into rust-lang:master May 10, 2021
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.

None yet

2 participants