keeleysam / tenfourfox

Automatically exported from code.google.com/p/tenfourfox
0 stars 0 forks source link

disable jemalloc in Fx10, test in Fx11 #90

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
https://bugzilla.mozilla.org/show_bug.cgi?id=414946

This has landed in Fx10. We may need to disable it if it does not build or is 
not compatible with 10.4 (I strongly suspect it is not).

Original issue reported on code.google.com by classi...@floodgap.com on 5 Oct 2011 at 4:54

GoogleCodeExporter commented 9 years ago
Something like this will work for us (or just always force MOZ_MEMORY on)

https://bug414946.bugzilla.mozilla.org/attachment.cgi?id=557466

Original comment by classi...@floodgap.com on 5 Oct 2011 at 4:55

GoogleCodeExporter commented 9 years ago
https://bugzilla.mozilla.org/show_bug.cgi?id=694335

force MOZ_MEMORY *off*, even

Original comment by classi...@floodgap.com on 15 Nov 2011 at 3:50

GoogleCodeExporter commented 9 years ago
and
https://bugzilla.mozilla.org/show_bug.cgi?id=694896

This could be bad, since it now runs on 10.5, .6 and .7. Hope they still 
support the fallback if it has hate for 10.4.

Original comment by classi...@floodgap.com on 15 Nov 2011 at 3:51

GoogleCodeExporter commented 9 years ago
This was a late landing bug:

https://bugzilla.mozilla.org/show_bug.cgi?id=702250

For this reason, because jemalloc won't work on 10.5, we won't use it on 10.4 
because undoubtedly it won't work there either.

Original comment by classi...@floodgap.com on 28 Dec 2011 at 9:49

GoogleCodeExporter commented 9 years ago
That's unfortunate since it would be nice to get that extra performance.
What I found out is that the OS X Libc malloc version didn't change from 10.4 
to 10.5 .
google-perftools use tcmalloc which are supposed to work with 10.5 (and 
therefore maybe 10.4 also).

Original comment by Tobias.N...@gmail.com on 29 Dec 2011 at 8:55

GoogleCodeExporter commented 9 years ago
I just tested enabling jemalloc in 9.0.1pre and I couldn't cause it to crash 
the way it is described in #702250 . Fortunately testing this is fairly easy 
since you just have to rebuild the memory subdir which results in updated 
libmozutils.dylib and libmozalloc.dylib which you can use to simply replace the 
version of an existing build. Using gdb I verified je_malloc() is being called 
actually.
I'm typing this running 9.0.1pre with jemalloc enabled in 10.5.8 - will test in 
10.4.11 as well.

Original comment by Tobias.N...@gmail.com on 29 Dec 2011 at 9:56

GoogleCodeExporter commented 9 years ago
Working fine in 10.4.11 also.
Remember that I did a gcc-4.2 (plain Xcode 3.1) build targetting the 10.4u SDK 
(I had to "extend" the SDK a little bit for that...).
And I'm also using the Intel build of 10.4.11 on this PB G4 which uses a later 
version of Libc .

Original comment by Tobias.N...@gmail.com on 29 Dec 2011 at 10:13

GoogleCodeExporter commented 9 years ago
A small patch was needed to get jemalloc to build correctly - this disables 
switching jemalloc on and off at runtime which isn't possible on 32 bit Mac OS 
X.

Original comment by Tobias.N...@gmail.com on 29 Dec 2011 at 10:44

Attachments:

GoogleCodeExporter commented 9 years ago
I'm really nervous about this because it's an iffy change to land in what will 
probably be a maintenance branch and Mozilla doesn't seem to have confidence in 
it either. However, it's certainly possible the bug they are triggering is 
limited to 10.5/i386. I'll split the difference: we keep it off for 10 or 
whatever the ESR is, but I'll try turning it on for the 11 beta.

Original comment by classi...@floodgap.com on 29 Dec 2011 at 2:11

GoogleCodeExporter commented 9 years ago
I will take your patch now, though, since it seems to be needed to build 
regardless.

Original comment by classi...@floodgap.com on 29 Dec 2011 at 2:11

GoogleCodeExporter commented 9 years ago
OK. Regarding the potential performance win we should definitely try to get it 
enabled at some point.

Original comment by Tobias.N...@gmail.com on 30 Dec 2011 at 12:38

GoogleCodeExporter commented 9 years ago
Just out of curiosity, did you change this in your build to force MOZ_MEMORY on?

    # Statically disable jemalloc on 10.5 and 32-bit 10.6.  See bug 702250.
    if test "$HAVE_64BIT_OS"; then
        MOZ_MEMORY=1
    fi

Original comment by classi...@floodgap.com on 3 Jan 2012 at 2:00

GoogleCodeExporter commented 9 years ago
As I did this in the mozilla-beta branch (from the tag which the release was 
based upon) 702250 wasn't in there and "MOZ_MEMORY=1" was set inconditionally.
To enable jemalloc I just added "-enable-jemalloc" to my mozconfig.

Original comment by Tobias.N...@gmail.com on 3 Jan 2012 at 7:13

GoogleCodeExporter commented 9 years ago
Dropping priority

Original comment by classi...@floodgap.com on 8 Jan 2012 at 6:54

GoogleCodeExporter commented 9 years ago
Seems to be working as is with no changes. I don't know if jemalloc is on, but 
we are building from default and it's fine in 11, so I'll probably Wontfix this 
if there are no attributable issues.

Original comment by classi...@floodgap.com on 5 Mar 2012 at 4:26

GoogleCodeExporter commented 9 years ago
Looks good without changes.

Original comment by classi...@floodgap.com on 11 Mar 2012 at 2:55

GoogleCodeExporter commented 9 years ago
You should reconsider this - until now jemalloc has proven to be stable in 
AuroraFox on 10.5 .

Original comment by Tobias.N...@gmail.com on 26 Nov 2012 at 11:51

GoogleCodeExporter commented 9 years ago
A new version of jemalloc (merge of mozilla jemalloc and jemalloc 3.x) is 
coming up:
https://bugzilla.mozilla.org/show_bug.cgi?id=762449

Original comment by Tobias.N...@gmail.com on 27 Nov 2012 at 11:41