[SERVER-17788] Upgrade to gperftools 2.5 Created: 29/Mar/15  Updated: 26/Apr/16  Resolved: 12/Apr/16

Status: Closed
Project: Core Server
Component/s: Build
Affects Version/s: None
Fix Version/s: 3.3.5

Type: Improvement Priority: Major - P3
Reporter: Andrew Morrow (Inactive) Assignee: Mark Benvenuto
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-23377 _migrateClone can keep on returning t... Closed
depends on SERVER-22763 Investigate performance of new gperft... Closed
is depended on by SERVER-22268 Enable gperftools on Linux s390x Closed
Backwards Compatibility: Fully Compatible
Sprint: Platforms 12 (04/01/16), Platforms 13 (04/22/16)
Participants:

 Description   

A newer version of tcmalloc is now available, so we should upgrade.



 Comments   
Comment by Githook User [ 12/Apr/16 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-17788 GPerfTools 2.2 Removal
Branch: master
https://github.com/mongodb/mongo/commit/80859ca45c2392fd6c7a48f94bd6805d3fd013b0

Comment by Githook User [ 12/Apr/16 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-17788 GPerfTools 2.5 Build Integration
Branch: master
https://github.com/mongodb/mongo/commit/c162b6bb8950a7dd3c9749356538378eedc50f33

Comment by Githook User [ 12/Apr/16 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-17788 GPerfTools 2.5 - Disable TCMALLOC_AGGRESSIVE_DECOMMIT
Branch: master
https://github.com/mongodb/mongo/commit/42b095a20ca543d773699f0c4b008af23ac5a921

Comment by Githook User [ 12/Apr/16 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-17788 [GPerfTools-2.2 Patch] Cut down number of tcmalloc size classes

Cut down number of size classes from 52 to 42.
The fewer sizes classes we have, the less memory we waste in overhead with unused allocations,
but the more we waste in roundoff error. We use 12.5% as a threshold here, extending the
conceptual limit that already existed in the code to how we merge size classes.
Branch: master
https://github.com/mongodb/mongo/commit/58b645f6e784c59f449b3091d927b536ad579fca

Comment by Githook User [ 12/Apr/16 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-17788 [GPerfTools-2.2 Patch] Lower fragmentation in tcmalloc

Halve tcmalloc page size and the size of the smaller slabs - this (worst case)
should halve fragmentation for those sizes. Moving the page size down helps with
fitting for slab sizes like 20k.

No measurable perf impact on our microbenchmark suite, though it's definitely
going to hit the system allocator more.

Drop size classes for things above 16K. They're not of much use as they're all 1
object per slab (though they could be held in the thread cache).
Branch: master
https://github.com/mongodb/mongo/commit/99436618a0fe429ae5519b02e13f0b22cac5eba1

Comment by Githook User [ 12/Apr/16 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-17788 [GPerfTools-2.2 Patch] improve tcmalloc freelist stats

Walks the size classes in TCMalloc's central freelist, exposing interesting
statistics via a callback.

serverStatus() now includes this information in lieu of the TCMalloc dump stats
text block.
Branch: master
https://github.com/mongodb/mongo/commit/952aa37f0adf19f0470eb4d86ffbd9318aa93cf4

Comment by Githook User [ 12/Apr/16 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-17788 GPerfTools 2.5
Branch: master
https://github.com/mongodb/mongo/commit/53a594d4a683a523d9223229bcf3c7ad3ef8b103

Comment by Githook User [ 12/Apr/16 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-17788 GPerfTools 2.5 Import Script
Branch: master
https://github.com/mongodb/mongo/commit/ccb7a4d80f9243a917b9a6182bcc9243f61d3057

Comment by Andrew Morrow (Inactive) [ 26/Feb/16 ]

Err, gperftools 2.5

Comment by Andrew Morrow (Inactive) [ 20/Feb/16 ]

Or better, upgrade to gperftools 2.6 when it is released

Generated at Thu Feb 08 03:45:34 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.