[SERVER-4801] SpinLock does not compile for non-x86 Created: 27/Jan/12 Updated: 06/Dec/22 Resolved: 15/Nov/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Concurrency |
| Affects Version/s: | 2.0.3 |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Trevor Robinson | Assignee: | Backlog - Storage Execution Team |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Target: arm-linux-gnueabi |
||
| Attachments: |
|
| Assigned Teams: |
Storage Execution
|
| Participants: |
| Description |
|
Recent (unreleased) changes to add PAUSE instructions to spinlocks break compilation on non-x86 systems: g++ -o build/linux2/usev8/mongo/util/concurrency/spin_lock.o -c -Wnon-virtual-dtor -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -pipe -fno-builtin-memcmp -O3 -D_SCONS -DMONGO_EXPOSE_MACROS -D_FILE_OFFSET_BITS=64 -Ibuild/linux2/usev8 -Isrc -Ibuild/linux2/usev8/mongo -Isrc/mongo -Ibuild/linux2/usev8/third_party/pcre-7.4 -Isrc/third_party/pcre-7.4 -I/root/v8/include src/mongo/util/concurrency/spin_lock.cpp {standard input}: Assembler messages:{standard input}:124: Error: bad instruction `pause' The attached patch makes the use of PAUSE conditional on x86, and reverts to the previous code on non-x86. |
| Comments |
| Comment by Trevor Robinson [ 27/Jan/12 ] |
|
This issue is related to |