From 5c9e0d0fc9188bab0ae09c9c33df01938b0c1b6c Mon Sep 17 00:00:00 2001 From: Khem Raj 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 --- 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 requests{0}; }; CacheAligned _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> _logicalBytesOut{0};