[SERVER-26323] Evaluate correctness of GCC __atomics implementation in gperftools Created: 26/Sep/16  Updated: 15/Mar/17  Resolved: 15/Mar/17

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

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

Issue Links:
Related
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Platforms 2016-10-10, Platforms 2017-03-06, Platforms 2017-03-27
Participants:
Linked BF Score: 25

 Description   

During earlier porting work, we forced GPerftools to use the GCC __atomic API rather than the per-architecture hand-rolled assembly. However, we have some indirect evidence gathered while investigating SERVER-25956 that the GCC implementation may not be functioning correctly. We should take a closer look at the GCC __atomics implementation, and potentially revert to the per-architecture files.



 Comments   
Comment by Githook User [ 15/Mar/17 ]

Author:

{u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}

Message: Revert "SERVER-26323 Roll back to per-arch atomics in gperftools"

This reverts commit 4435e71c4e6ddef7086f626d87eb90315456b962.

After making this change, we continued to observe the corruption
issues in the DEBUG builds, disconfirming the hypothesis that this
change would eliminate them. Reverting this change to restore the
prior configuration.
Branch: master
https://github.com/mongodb/mongo/commit/0a3d35d8d7ea33c268c4e32cd5c7f7d84305d45b

Comment by Githook User [ 03/Mar/17 ]

Author:

{u'username': u'acmorrow', u'name': u'Andrew Morrow', u'email': u'acm@mongodb.com'}

Message: SERVER-26323 Roll back to per-arch atomics in gperftools

We suspect that the GCC based atomics in atomicops-internals-gcc.h
may not accurately implement the intended semantics of the functions
in the base::subtle API.
Branch: master
https://github.com/mongodb/mongo/commit/4435e71c4e6ddef7086f626d87eb90315456b962

Generated at Thu Feb 08 04:11:46 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.