[meta] Add guard pages before and after arenas, chunks, and runs
Categories
(Core :: Memory Allocator, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox61 | --- | affected |
People
(Reporter: tjr, Assigned: gcp)
References
(Depends on 1 open bug, Blocks 2 open bugs)
Details
(4 keywords)
Attachments
(6 obsolete files)
Updated•6 years ago
|
Comment 1•6 years ago
|
||
Comment 2•6 years ago
|
||
Comment 3•6 years ago
|
||
Comment 4•6 years ago
|
||
Updated•6 years ago
|
Comment 5•6 years ago
|
||
Comment 6•6 years ago
|
||
Updated•6 years ago
|
Comment 7•6 years ago
|
||
Comment 8•6 years ago
•
|
||
Comment 9•6 years ago
|
||
Comment 10•6 years ago
|
||
Comment 11•6 years ago
|
||
Comment 12•6 years ago
|
||
Comment 13•6 years ago
|
||
Comment 14•6 years ago
|
||
I've started rewriting this patch from scratch, for two reasons: I felt like I was going to have to in order to implement comment 3's feedback, and also I don't feel optimistic about the code I had ever getting into a working state.
All I have so far with this version is guards following huge allocations (up to the next chunk-aligned address this time, rather than always a single page), and even that isn't quite finished (I intend to implement tracking of total guard page allocation amounts, for instance) but what's here does appear to be working, so I'm attaching it here because I thought it might provide a baseline to build the rest on top of.
I just started this try push, but it already looks relatively much better:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=70c00c0a4c21a72429536e365250c0d197b88535
Comment 15•6 years ago
|
||
Building on my last post, this patch adds trailing guard pages for normal arena (not huge) chunks, and then adds leading and trailing guards around base allocations. That first addition seems to have gone well, but the second might have caused some issues that I'm having trouble getting a local repro on right away.
Comment 16•6 years ago
|
||
This patch series removes the previous third part, which was the base allocations portion, and replaces it with a leading guard page on each huge allocations. So far I've only run this through the jemalloc gtest suite locally, but passing those is the most progress I've had in a few days, so I thought I'd go ahead and post it. Here's a try push to test all the things: https://treeherder.mozilla.org/#/jobs?repo=try&revision=1a3c861f90a850ce2b97679417a4eec0e3a5dba0
Comment 17•6 years ago
|
||
Fixed a build error in the last patch. New try push: https://treeherder.mozilla.org/#/jobs?repo=try&revision=e488ffd3d5640e6e65ba699a2655c3406f2da5e9
Comment 18•6 years ago
|
||
This is based on top of (the current state of) the bug 1529922 patches, which obsolete the ones I had previously posted here. This does need a test added, but it appears to work; this try push seems to be doing well.
Comment 19•6 years ago
|
||
For the record, I don't currently plan on working on this any further, so I'm turning this bug over to GCP, who has already taken on bug 1529922.
Updated•6 years ago
|
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Updated•5 years ago
|
Assignee | ||
Updated•3 years ago
|
Description
•