mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-03-17 02:47:49 +00:00
AK: Allow alignment to cache line size with CACHE_ALIGNED
This is particularly important to avoid false sharing, which thrashes performance when two process-shared atomics are on the same cache line.
This commit is contained in:
committed by
Linus Groh
parent
d463f6e00a
commit
65b338ad04
@@ -110,3 +110,16 @@ extern "C" {
|
||||
# define CLOCK_MONOTONIC_COARSE CLOCK_MONOTONIC
|
||||
# define CLOCK_REALTIME_COARSE CLOCK_REALTIME
|
||||
#endif
|
||||
|
||||
#ifndef SYSTEM_CACHE_ALIGNMENT_SIZE
|
||||
# if ARCH(AARCH64) || ARCH(x86_64)
|
||||
# define SYSTEM_CACHE_ALIGNMENT_SIZE 64
|
||||
# else
|
||||
# define SYSTEM_CACHE_ALIGNMENT_SIZE 128
|
||||
# endif
|
||||
#endif /* SYSTEM_CACHE_ALIGNMENT_SIZE */
|
||||
|
||||
#ifdef CACHE_ALIGNED
|
||||
# undef CACHE_ALIGNED
|
||||
#endif
|
||||
#define CACHE_ALIGNED alignas(SYSTEM_CACHE_ALIGNMENT_SIZE)
|
||||
|
||||
Reference in New Issue
Block a user