blob: 52c9df9b1b5da2ee02780078100c11a308d83e89 [file] [log] [blame]
Patrick Williams03907ee2022-05-01 06:28:52 -05001From 5c9e0d0fc9188bab0ae09c9c33df01938b0c1b6c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 14 Apr 2022 09:25:33 -0700
4Subject: [PATCH] server: Adjust the cache alignment assumptions
5
6aarch64 has 256 for hardware_destructive_interference_size and gcc 12
7has added a warning to complain about mismatches which results in
8static_assert failures
9
10In file included from src/mongo/s/commands/cluster_find_cmd.cpp:39:
11src/mongo/db/stats/counters.h:185:47: error: static assertion failed: cache line spill
12 185 | static_assert(sizeof(decltype(_together)) <= stdx::hardware_constructive_interference_size,
13 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14
15The structure need to ensure true sharing for both the elements
16so align it to hardware_constructive_interference_size instead
17
Andrew Geissler6aa7eec2023-03-03 12:41:14 -060018Upstream-Status: Inappropriate [https://jira.mongodb.org/browse/SERVER-65664]
Patrick Williams03907ee2022-05-01 06:28:52 -050019
20Signed-off-by: Khem Raj <raj.khem@gmail.com>
21---
22 src/mongo/db/stats/counters.h | 6 +++---
23 1 file changed, 3 insertions(+), 3 deletions(-)
24
25--- a/src/mongo/db/stats/counters.h
26+++ b/src/mongo/db/stats/counters.h
27@@ -182,8 +182,8 @@ private:
28 AtomicWord<long long> requests{0};
29 };
30 CacheAligned<Together> _together{};
31- static_assert(sizeof(decltype(_together)) <= stdx::hardware_constructive_interference_size,
32- "cache line spill");
33+ static_assert(sizeof(Together) <= stdx::hardware_constructive_interference_size,
34+ "cache line spill");
35
36 CacheAligned<AtomicWord<long long>> _logicalBytesOut{0};
37