Hi,

We've tried to get off mozjemalloc for, apparently, close to 5 years
(date of the filing of bug 762449). We've had memory usage regressions
(like bug 1219914), and we've had perf regressions as per talos numbers
(things like bug 1138999), and those have never gone away (with
variations with each update of jemalloc >= 3).

My best bet at this point is that it's "just" a consequence of the
difference in memory layout due to the differences in how the allocators
work. That doesn't make it more okay.

Many updates to recent versions of jemalloc have been painful (usually
breaking everything except linux), and the current tip of the jemalloc
dev branch is not making things any better (see bug 1357301).

Furthermore, bug 1361258 has started to modify mozjemalloc with new
features for stylo, further deepening the API surface between both
allocators. While what was added in bug 1361258 is possible to implement
for jemalloc 4, the burden of continuing to maintain both allocators is
not really appealing considering the perspective of ever switching.

As much as it pains me, it's time to admit that switching to jemalloc >=
3 is not going to happen, and pull the plug once and for all. This
decision has taken way too long to be made, and I apologize for that.

This will happen with the landing of bug 1363992 in a few hours.

As for the things we were hoping jemalloc >= 3 would allow us to do
(essentially, heap partitioning), we'll be working on getting that on
mozjemalloc shortly (bug 1361258 and followups will actually get us
close on the necessary infrastructure), as well as cleaning up its code
(I have a local patch queue that removes 15% of jemalloc.c), and
probably converting it to C++ (at least for some RAII benefits, and
converting some of the gory macros to templates)

Mike.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to