diff options
author | Sverker Eriksson <[email protected]> | 2014-06-13 15:50:42 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2014-06-13 15:50:42 +0200 |
commit | 179f61eb3377098083c72b3fff793e6c45a68b11 (patch) | |
tree | 63e418a2d7d69c391d6d88f21e4b81628e77f729 /erts | |
parent | 8d081115b4d57bb3a52a6ebe87c119cb762bc153 (diff) | |
parent | aa3a7c229ca39400de7d281ae11c4ec78592e095 (diff) | |
download | otp-179f61eb3377098083c72b3fff793e6c45a68b11.tar.gz otp-179f61eb3377098083c72b3fff793e6c45a68b11.tar.bz2 otp-179f61eb3377098083c72b3fff793e6c45a68b11.zip |
Merge branch 'sverk/ethr_aux-cache-align-bug' into maint
* sverk/ethr_aux-cache-align-bug:
erts: Fix cache line alignment bug for ts_event_pool
Diffstat (limited to 'erts')
-rw-r--r-- | erts/lib_src/common/ethr_aux.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/erts/lib_src/common/ethr_aux.c b/erts/lib_src/common/ethr_aux.c index ceecdcef64..b77f2178f2 100644 --- a/erts/lib_src/common/ethr_aux.c +++ b/erts/lib_src/common/ethr_aux.c @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 2010-2012. All Rights Reserved. + * Copyright Ericsson AB 2010-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 @@ -360,10 +360,10 @@ static ethr_ts_event *ts_event_pool(int size, ethr_ts_event **endpp) int i; ethr_aligned_ts_event *atsev; atsev = ethr_mem__.std.alloc(sizeof(ethr_aligned_ts_event) * size - + ETHR_CACHE_LINE_SIZE); + + ETHR_CACHE_LINE_SIZE - 1); if (!atsev) return NULL; - if ((((ethr_uint_t) atsev) & ETHR_CACHE_LINE_MASK) == 0) + if ((((ethr_uint_t) atsev) & ETHR_CACHE_LINE_MASK) != 0) atsev = ((ethr_aligned_ts_event *) ((((ethr_uint_t) atsev) & ~ETHR_CACHE_LINE_MASK) + ETHR_CACHE_LINE_SIZE)); |