Skip to content

Commit

Permalink
mongodb: Fix aarch64 build with gcc12
Browse files Browse the repository at this point in the history
Signed-off-by: Khem Raj <[email protected]>
  • Loading branch information
kraj committed Apr 15, 2022
1 parent c4f3039 commit 2e0f15d
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
From 5c9e0d0fc9188bab0ae09c9c33df01938b0c1b6c Mon Sep 17 00:00:00 2001
From: Khem Raj <[email protected]>
Date: Thu, 14 Apr 2022 09:25:33 -0700
Subject: [PATCH] server: Adjust the cache alignment assumptions

aarch64 has 256 for hardware_destructive_interference_size and gcc 12
has added a warning to complain about mismatches which results in
static_assert failures

In file included from src/mongo/s/commands/cluster_find_cmd.cpp:39:
src/mongo/db/stats/counters.h:185:47: error: static assertion failed: cache line spill
185 | static_assert(sizeof(decltype(_together)) <= stdx::hardware_constructive_interference_size,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The structure need to ensure true sharing for both the elements
so align it to hardware_constructive_interference_size instead

Upstream-Status: Reported [https://jira.mongodb.org/browse/SERVER-65664]

Signed-off-by: Khem Raj <[email protected]>
---
src/mongo/db/stats/counters.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

--- a/src/mongo/db/stats/counters.h
+++ b/src/mongo/db/stats/counters.h
@@ -182,8 +182,8 @@ private:
AtomicWord<long long> requests{0};
};
CacheAligned<Together> _together{};
- static_assert(sizeof(decltype(_together)) <= stdx::hardware_constructive_interference_size,
- "cache line spill");
+ static_assert(sizeof(Together) <= stdx::hardware_constructive_interference_size,
+ "cache line spill");

CacheAligned<AtomicWord<long long>> _logicalBytesOut{0};

Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.4;protocol=https \
file://ppc64_ARCH_BITS.patch \
file://PTHREAD_STACK_MIN.patch \
file://0001-add-explict-static_cast-size_t-to-maxMemoryUsageByte.patch \
file://0001-server-Adjust-the-cache-alignment-assumptions.patch \
"
SRC_URI:append:libc-musl ="\
file://0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch \
Expand Down

0 comments on commit 2e0f15d

Please sign in to comment.