From b9f6ef50af59b51584acd9a05690d53943dbf52e Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Sat, 1 Feb 2025 06:52:15 +0000 Subject: [PATCH] Add fallback for cache line size detection - Provide default cache line size for systems without _SC_LEVEL1_DCACHE_LINESIZE - Set default to 64 bytes, which is common on x86_64 architectures - Improve portability of cache line size detection --- malign_buffer.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/malign_buffer.cc b/malign_buffer.cc index 5845ffb..f343c4e 100644 --- a/malign_buffer.cc +++ b/malign_buffer.cc @@ -127,7 +127,12 @@ void MalignBuffer::InitializeMemoryForSanitizer(char *addr, size_t size) { } const size_t MalignBuffer::kPageSize = sysconf(_SC_PAGESIZE); +#ifdef _SC_LEVEL1_DCACHE_LINESIZE const size_t MalignBuffer::kCacheLineSize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE); +#else +// Default to 64 bytes which is common on x86_64 +const size_t MalignBuffer::kCacheLineSize = 64; +#endif std::string MalignBuffer::ToString(CopyMethod m) { switch (m) {