38 lines
1.6 KiB
Diff
38 lines
1.6 KiB
Diff
From 5c9e0d0fc9188bab0ae09c9c33df01938b0c1b6c Mon Sep 17 00:00:00 2001
|
|
From: Khem Raj <raj.khem@gmail.com>
|
|
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: Inappropriate [https://jira.mongodb.org/browse/SERVER-65664]
|
|
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
---
|
|
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};
|
|
|