aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2014-06-11 18:22:05 +0200
committerSverker Eriksson <[email protected]>2014-06-11 18:22:05 +0200
commit6db23381adb9c580e1d03cccf2a8b67c6cc5189b (patch)
tree2f3704bed6936969ee213c419f4a0d3ab02b6908 /erts
parent07b8f441ca711f9812fad9e9115bab3c3aa92f79 (diff)
downloadotp-6db23381adb9c580e1d03cccf2a8b67c6cc5189b.tar.gz
otp-6db23381adb9c580e1d03cccf2a8b67c6cc5189b.tar.bz2
otp-6db23381adb9c580e1d03cccf2a8b67c6cc5189b.zip
erts: Fix cache alignment for ETS write_concurrency locks
Effects if sizeof(erts_smp_rwmtx_t) > 64: + Better performance due to less false sharing - Increased memory footprint per table
Diffstat (limited to 'erts')
-rw-r--r--erts/emulator/beam/erl_db_hash.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_db_hash.h b/erts/emulator/beam/erl_db_hash.h
index 908cec11d4..e68081a5b1 100644
--- a/erts/emulator/beam/erl_db_hash.h
+++ b/erts/emulator/beam/erl_db_hash.h
@@ -1,7 +1,7 @@
/*
* %CopyrightBegin%
*
- * Copyright Ericsson AB 1998-2013. All Rights Reserved.
+ * Copyright Ericsson AB 1998-2014. All Rights Reserved.
*
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
@@ -42,7 +42,7 @@ typedef struct hash_db_term {
typedef struct db_table_hash_fine_locks {
union {
erts_smp_rwmtx_t lck;
- byte _cache_line_alignment[64];
+ byte _cache_line_alignment[ERTS_ALC_CACHE_LINE_ALIGN_SIZE(sizeof(erts_smp_rwmtx_t))];
}lck_vec[DB_HASH_LOCK_CNT];
} DbTableHashFineLocks;