libcds.git
4 years agoformatting v2.3.1
khizmax [Tue, 29 Aug 2017 16:46:37 +0000 (19:46 +0300)]
formatting

4 years agomaintenance release 2.3.1
khizmax [Tue, 29 Aug 2017 16:05:07 +0000 (19:05 +0300)]
maintenance release 2.3.1

4 years agoModified travis script
khizmax [Thu, 24 Aug 2017 20:05:19 +0000 (23:05 +0300)]
Modified travis script

4 years agochanged travis script
khizmax [Thu, 24 Aug 2017 16:12:31 +0000 (19:12 +0300)]
changed travis script

4 years agoChanged target name
khizmax [Thu, 24 Aug 2017 14:08:28 +0000 (17:08 +0300)]
Changed target name

4 years agoModified travis script
khizmax [Thu, 24 Aug 2017 10:13:02 +0000 (13:13 +0300)]
Modified travis script

4 years agoAdded travis.ci badge
khizmax [Thu, 24 Aug 2017 06:11:11 +0000 (09:11 +0300)]
Added travis.ci badge

4 years agoMerge pull request #86 from mgalimullin/try_add_travis-ci_v3
Max Khizhinsky [Wed, 23 Aug 2017 18:11:47 +0000 (21:11 +0300)]
Merge pull request #86 from mgalimullin/try_add_travis-ci_v3

add travis-ci

4 years agoupdated .travis.yml
Marsel Galimullin [Sun, 20 Aug 2017 14:34:07 +0000 (17:34 +0300)]
updated .travis.yml

build all unit-tests with gcc-6 and clang-5.
FIXME: Release building of unit-map, unit-iset and unit-tree are to
long. And Travis-ci interrupt them. These thest are disabled when work
clang-5.

4 years agoMerge remote-tracking branch 'khizmax/master'
Unknown [Wed, 23 Aug 2017 11:08:15 +0000 (14:08 +0300)]
Merge remote-tracking branch 'khizmax/master'

4 years agoMerge pull request #85 from mgalimullin/fix_cmakelists
Max Khizhinsky [Mon, 21 Aug 2017 07:47:43 +0000 (10:47 +0300)]
Merge pull request #85 from mgalimullin/fix_cmakelists

fixed add_custom_target() in intrusice-set and set

4 years agofixed add_custom_target() in intrusice-set and set
Marsel Galimullin [Sun, 20 Aug 2017 15:49:55 +0000 (18:49 +0300)]
fixed add_custom_target() in intrusice-set and set

4 years agochangelog
khizmax [Sun, 20 Aug 2017 09:01:02 +0000 (12:01 +0300)]
changelog

4 years agoMerge branch 'master' into dev
khizmax [Sun, 20 Aug 2017 08:53:23 +0000 (11:53 +0300)]
Merge branch 'master' into dev

4 years agochangelog
khizmax [Sun, 20 Aug 2017 08:52:02 +0000 (11:52 +0300)]
changelog

4 years agoMerge pull request #84 from ldionne/patch-1
Max Khizhinsky [Sun, 20 Aug 2017 08:46:15 +0000 (11:46 +0300)]
Merge pull request #84 from ldionne/patch-1

Fix mis-rendered markdown link in the README

4 years agoFix mis-rendered markdown link in the README
Louis Dionne [Sat, 19 Aug 2017 21:44:05 +0000 (14:44 -0700)]
Fix mis-rendered markdown link in the README

4 years agoMerge branch 'ldionne-ldionne-cmake' into dev
khizmax [Sat, 19 Aug 2017 08:32:29 +0000 (11:32 +0300)]
Merge branch 'ldionne-ldionne-cmake' into dev

4 years ago[CMake] Create a real library instead of an object library for stress tests
Louis Dionne [Fri, 18 Aug 2017 22:56:17 +0000 (15:56 -0700)]
[CMake] Create a real library instead of an object library for stress tests

Object libraries don't allow linking to other libraries, which makes it
impossible to link it to libcds, on which it depends. It used to work
because all flags were set globally, so the object library picked them
up as well.

4 years ago[CMake] Install a CMake config file
Louis Dionne [Fri, 18 Aug 2017 21:32:29 +0000 (14:32 -0700)]
[CMake] Install a CMake config file

Doing this properly involves using slightly more modern CMake constructs such
as target_include_directories and target_compile_options instead of their
global alternatives.

4 years agodoc formatting
khizmax [Mon, 14 Aug 2017 19:40:32 +0000 (22:40 +0300)]
doc formatting

4 years agoissue #82: added doc about DCAS support
khizmax [Mon, 14 Aug 2017 10:31:59 +0000 (13:31 +0300)]
issue #82: added doc about DCAS support

4 years ago[uRCU] Removed redundant atomic_thread_fence
khizmax [Sat, 12 Aug 2017 15:26:53 +0000 (18:26 +0300)]
[uRCU] Removed redundant atomic_thread_fence

4 years agoIssue #81: fixed extending thread's retired array in gc::DHP SMR
khizmax [Thu, 10 Aug 2017 17:13:13 +0000 (20:13 +0300)]
Issue #81: fixed extending thread's retired array in gc::DHP SMR

4 years agochanged version to 2.4.0
khizmax [Mon, 31 Jul 2017 08:08:24 +0000 (11:08 +0300)]
changed version to 2.4.0

4 years agoRemoved trailing spaces
khizmax [Mon, 31 Jul 2017 07:46:43 +0000 (10:46 +0300)]
Removed trailing spaces

4 years agover 2.4.0
khizmax [Mon, 31 Jul 2017 07:41:47 +0000 (10:41 +0300)]
ver 2.4.0

4 years agoFinal changelog ver 2.3 v2.3.0
khizmax [Mon, 31 Jul 2017 07:05:50 +0000 (10:05 +0300)]
Final changelog ver 2.3

4 years agoFixed compiler error
khizmax [Sun, 23 Jul 2017 08:33:46 +0000 (11:33 +0300)]
Fixed compiler error

4 years ago[TSan] Fixed data race in std container wrappers
khizmax [Sat, 22 Jul 2017 10:00:18 +0000 (13:00 +0300)]
[TSan] Fixed data race in std container wrappers

4 years agoTuning stress-tests for GCCFarm
khizmax [Tue, 18 Jul 2017 09:24:02 +0000 (12:24 +0300)]
Tuning stress-tests for GCCFarm

4 years ago[TSan] Fixed data races
khizmax [Sat, 8 Jul 2017 15:19:59 +0000 (18:19 +0300)]
[TSan] Fixed data races

4 years ago[TSan] Added annotation for std::shared_ptr::~shared_ptr to hide false positive report
khizmax [Sat, 8 Jul 2017 08:51:57 +0000 (11:51 +0300)]
[TSan] Added annotation for std::shared_ptr::~shared_ptr to hide false positive report

4 years agoFixed memory ordering
khizmax [Sat, 8 Jul 2017 07:11:30 +0000 (10:11 +0300)]
Fixed memory ordering

4 years ago[TSan] Fixed data race
khizmax [Tue, 27 Jun 2017 18:09:45 +0000 (21:09 +0300)]
[TSan] Fixed data race

4 years agoAdded TSan happens-before annotations (TSan don't understand atomic_thread_fence)
khizmax [Sat, 3 Jun 2017 09:26:23 +0000 (12:26 +0300)]
Added TSan happens-before annotations (TSan don't understand atomic_thread_fence)

4 years agoFixed memory ordering
khizmax [Sat, 3 Jun 2017 08:09:31 +0000 (11:09 +0300)]
Fixed memory ordering

4 years agoRefactoring exponential and delay back-off strategies to avoid static data members...
khizmax [Wed, 31 May 2017 09:59:06 +0000 (12:59 +0300)]
Refactoring exponential and delay back-off strategies to avoid static data members in template classes

4 years agoFixed ambiguity in casting size_t to one of unsigned type (found in AIX 32bit target)
khizmax [Tue, 30 May 2017 20:34:39 +0000 (23:34 +0300)]
Fixed ambiguity in casting size_t to one of unsigned type (found in AIX 32bit target)

4 years agoFixed ambiguous ceil2() call in 32bit target
khizmax [Tue, 30 May 2017 19:13:08 +0000 (22:13 +0300)]
Fixed ambiguous ceil2() call in 32bit target

4 years agoFixed MSVC project dependencies
khizmax [Tue, 30 May 2017 15:31:37 +0000 (18:31 +0300)]
Fixed MSVC project dependencies

4 years agoFixed memory ordering
khizmax [Sun, 28 May 2017 18:00:34 +0000 (21:00 +0300)]
Fixed memory ordering

4 years ago[AIX] Added missing byteswap.h
khizmax [Sat, 27 May 2017 15:16:27 +0000 (18:16 +0300)]
[AIX] Added missing byteswap.h

4 years agoAdded a comment
khizmax [Fri, 26 May 2017 19:44:28 +0000 (22:44 +0300)]
Added a comment

4 years ago[ARM] Added memory fences for strict modification order during rotation
khizmax [Fri, 26 May 2017 19:43:24 +0000 (22:43 +0300)]
[ARM] Added memory fences for strict modification order during rotation

4 years agoFixed memory order
khizmax [Wed, 24 May 2017 18:00:54 +0000 (21:00 +0300)]
Fixed memory order

4 years agoFixed memory ordering
khizmax [Wed, 24 May 2017 17:58:03 +0000 (20:58 +0300)]
Fixed memory ordering

4 years agoFixed clang "unused-function" warning
khizmax [Tue, 23 May 2017 19:45:03 +0000 (22:45 +0300)]
Fixed clang "unused-function" warning

4 years ago[WeakRingBuffer] to prevent integer overflow, used 64bit counters even in 32-bit...
khizmax [Tue, 23 May 2017 19:41:40 +0000 (22:41 +0300)]
[WeakRingBuffer] to prevent integer overflow, used 64bit counters even in 32-bit mode

4 years agoTuning parameters for spsc-queue stress tests
khizmax [Tue, 23 May 2017 18:00:36 +0000 (21:00 +0300)]
Tuning parameters for spsc-queue stress tests

4 years agoTuning parameters of insdel-string map/set stress tests
khizmax [Tue, 23 May 2017 07:50:25 +0000 (10:50 +0300)]
Tuning parameters of insdel-string map/set stress tests

4 years agoTuning parameters of map_insdel_item_int stress test
khizmax [Tue, 23 May 2017 07:42:01 +0000 (10:42 +0300)]
Tuning parameters of map_insdel_item_int stress test

4 years agoAdded SPSC queue stress tests
khizmax [Sun, 21 May 2017 16:54:23 +0000 (19:54 +0300)]
Added SPSC queue stress tests

4 years agoDocfix
khizmax [Sun, 21 May 2017 16:43:31 +0000 (19:43 +0300)]
Docfix

4 years agoA magic code is found to fix CLang 3.6-3.7 mass test failures for FeldmanHashSet...
khizmax [Mon, 15 May 2017 19:53:17 +0000 (22:53 +0300)]
A magic code is found to fix CLang 3.6-3.7 mass test failures for FeldmanHashSet<RCU> even in single-threaded ubit tests

4 years agoFixed several bugs in WeakRungBuffer
khizmax [Sun, 14 May 2017 20:23:59 +0000 (23:23 +0300)]
Fixed several bugs in WeakRungBuffer
Added single-threaded test for single-consumer VyukowQueue
Added single-threaded test for WeakRingBuffer

4 years agoGCC-7 64bit does not support lock-free wide (128-bit) atomics
khizmax [Sat, 13 May 2017 16:43:59 +0000 (19:43 +0300)]
GCC-7 64bit does not support lock-free wide (128-bit) atomics

4 years agoMerged VC 14.1 projects to VC14
khizmax [Sat, 13 May 2017 16:43:04 +0000 (19:43 +0300)]
Merged VC 14.1 projects to VC14

4 years agoWrapped gtest/gtest.h into cds_test/ext_gtest.h to suppress GCC 7 warning
khizmax [Fri, 12 May 2017 20:46:39 +0000 (23:46 +0300)]
Wrapped gtest/gtest.h into cds_test/ext_gtest.h to suppress GCC 7 warning

4 years agoFixed a bug
khizmax [Fri, 12 May 2017 19:22:48 +0000 (22:22 +0300)]
Fixed a bug

4 years agoFixed a bug
khizmax [Fri, 12 May 2017 19:07:35 +0000 (22:07 +0300)]
Fixed a bug

4 years agoAdded prototype for untyped variable-sized WeakRingBuffer<void> (not tested yet,...
khizmax [Fri, 12 May 2017 14:08:59 +0000 (17:08 +0300)]
Added prototype for untyped variable-sized WeakRingBuffer<void> (not tested yet, to be continued)

4 years agoFixed typo
khizmax [Thu, 11 May 2017 18:33:41 +0000 (21:33 +0300)]
Fixed typo

4 years agoTry to disable CLang "unused private field" warning
khizmax [Thu, 11 May 2017 18:31:20 +0000 (21:31 +0300)]
Try to disable CLang "unused private field" warning

4 years agoAdded missing header
khizmax [Thu, 11 May 2017 18:17:19 +0000 (21:17 +0300)]
Added missing header

4 years agoFixed typo
khizmax [Wed, 10 May 2017 21:04:21 +0000 (00:04 +0300)]
Fixed typo

4 years agoissue #76: added cds::atomicity::cache_friendly_item_counter to avoid false sharing
khizmax [Wed, 10 May 2017 21:01:35 +0000 (00:01 +0300)]
issue #76: added cds::atomicity::cache_friendly_item_counter to avoid false sharing
issue #76: MichaelHashSet/Map: removed static_assert for empty_item_counter

4 years agoAdded WeakRingBuffer - a single-producer/single-consumer queue based on ring buffer
khizmax [Tue, 9 May 2017 08:04:54 +0000 (11:04 +0300)]
Added WeakRingBuffer - a single-producer/single-consumer queue based on ring buffer

4 years agoDocfix
khizmax [Mon, 8 May 2017 17:29:24 +0000 (20:29 +0300)]
Docfix

4 years agoDocfix
khizmax [Sun, 7 May 2017 08:46:58 +0000 (11:46 +0300)]
Docfix

4 years ago[SplitList] Fixed TSan warnings
khizmax [Sat, 6 May 2017 16:38:33 +0000 (19:38 +0300)]
[SplitList] Fixed TSan warnings

4 years agoAdded support __SANITIZE_THREAD__ pre-defined macro for GCC-5+
khizmax [Thu, 4 May 2017 20:20:46 +0000 (23:20 +0300)]
Added support __SANITIZE_THREAD__ pre-defined macro for GCC-5+

4 years agoFixed "dangling-else" GCC7 warning
khizmax [Thu, 4 May 2017 07:38:06 +0000 (10:38 +0300)]
Fixed "dangling-else" GCC7 warning

4 years agoAdded ability to manually suppress wide-atomic support in compiler command line:
khizmax [Wed, 3 May 2017 20:46:48 +0000 (23:46 +0300)]
Added ability to manually suppress wide-atomic support in compiler command line:
 for 64bit platform: -DCDS_DISABLE_128BIT_ATOMIC
 for 32bit platform: -DCDS_DISABLE_64BIT_ATOMIC

4 years agoGCC-7 requires libatomic to support 128-bit atomics on amd64, see https://gcc.gnu...
khizmax [Wed, 3 May 2017 20:19:21 +0000 (23:19 +0300)]
GCC-7 requires libatomic to support 128-bit atomics on amd64, see https://gcc.gnu.org/ml/gcc/2017-01/msg00167.html discussion.

4 years agoFixed include directive
khizmax [Wed, 3 May 2017 19:11:29 +0000 (22:11 +0300)]
Fixed include directive

4 years agoAdded missing CityHash file for SSE4.2 platform
khizmax [Wed, 3 May 2017 18:48:45 +0000 (21:48 +0300)]
Added missing CityHash file for SSE4.2 platform

4 years agoAdded GCC-7 to CI
khizmax [Wed, 3 May 2017 18:26:13 +0000 (21:26 +0300)]
Added GCC-7 to CI

4 years agoAdded -Wno-unused-local-typedefs for GCC7
khizmax [Wed, 3 May 2017 18:18:58 +0000 (21:18 +0300)]
Added -Wno-unused-local-typedefs for GCC7

4 years agoFixed a typo
khizmax [Wed, 26 Apr 2017 18:47:21 +0000 (21:47 +0300)]
Fixed a typo

4 years agoFixed minor warnings
khizmax [Wed, 26 Apr 2017 13:46:53 +0000 (16:46 +0300)]
Fixed minor warnings

4 years agoAdded missing pthread lib to cmake test script
khizmax [Tue, 25 Apr 2017 18:31:05 +0000 (21:31 +0300)]
Added missing pthread lib to cmake test script

4 years agoAdded cleaning after CHECK_CXX_SOURCE_COMPILES call
khizmax [Mon, 24 Apr 2017 21:01:40 +0000 (00:01 +0300)]
Added cleaning after CHECK_CXX_SOURCE_COMPILES call

4 years agoFixed annoying warning in gtest: added 4th arg for INSTANTIATE_TEST_CASE_P macro...
khizmax [Mon, 24 Apr 2017 20:53:29 +0000 (23:53 +0300)]
Fixed annoying warning in gtest: added 4th arg for INSTANTIATE_TEST_CASE_P macro if it is supported

4 years agoFixed uRCU barriers on read-side entry/exit
khizmax [Mon, 24 Apr 2017 19:57:58 +0000 (22:57 +0300)]
Fixed uRCU barriers on read-side entry/exit

4 years agoRemoved prohibited atomic<void*>::fetch_xxx() tests
khizmax [Mon, 24 Apr 2017 16:11:45 +0000 (19:11 +0300)]
Removed prohibited atomic<void*>::fetch_xxx() tests

4 years agoRestored acq-rel fence in urcu access_lock().
khizmax [Mon, 24 Apr 2017 16:05:21 +0000 (19:05 +0300)]
Restored acq-rel fence in urcu access_lock().
Seems, CLang 3.6/3.7 cannot handle acquire barrier on atomic var correctly

4 years agoRemoved odd assert
khizmax [Sun, 23 Apr 2017 21:35:07 +0000 (00:35 +0300)]
Removed odd assert

4 years agoRemoved constexpr from node ctor
khizmax [Sun, 23 Apr 2017 20:52:19 +0000 (23:52 +0300)]
Removed constexpr from node ctor

4 years ago[signal-handled urcu]: add cacheline padding to URCU thread data
khizmax [Sun, 23 Apr 2017 17:19:23 +0000 (20:19 +0300)]
[signal-handled urcu]: add cacheline padding to URCU thread data

4 years agourcu: add cacheline padding to URCU thread data
Todd Lipcon [Fri, 21 Apr 2017 23:01:47 +0000 (16:01 -0700)]
urcu: add cacheline padding to URCU thread data

The thread-local data was previously smaller than a cacheline, so it was
possible for multiple thread's thread data to be allocated on the same
cacheline and cause false sharing.

I measured the offcore_response.all_data_rd.l3_hit.hitm_other_core
perf counter in a read-only workload with 16 threads executing a
read-only workload against a URCU-protected split-list set. Before, I
saw about 5.6M events per second. After, I saw basically none.

Additionally, 'perf c2c' showed a lot of cache-line bouncing in the URCU
read side critical section before, but now shows none.

I benchmarked the above read-only workload on a machine with 88 logical
cores (Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz) and 88 threads, and
the performance improved more than 2x.

Fixes issue #75

4 years ago[urcu] Replaced RMW atomics with atomic load/store in URCU read-side lock/unlock.
khizmax [Sat, 22 Apr 2017 16:31:36 +0000 (19:31 +0300)]
[urcu] Replaced RMW atomics with atomic load/store in URCU read-side lock/unlock.
Fixing the barriers speed up a micro-benchmark (16 threads accessing an RCU-protected split-list set) by 30-40%. Thanks to Todd Lipcon who found this improvement

4 years ago[SkipList] Added random-lvel generators for max height 32/24/16
khizmax [Sat, 22 Apr 2017 14:46:46 +0000 (17:46 +0300)]
[SkipList] Added random-lvel generators for max height 32/24/16

4 years ago[TSan] Fixed memory order
khizmax [Sat, 22 Apr 2017 08:01:39 +0000 (11:01 +0300)]
[TSan] Fixed memory order

4 years agoFixed optimization level for xSan-instrumented build
khizmax [Tue, 18 Apr 2017 19:16:39 +0000 (22:16 +0300)]
Fixed optimization level for xSan-instrumented build

4 years agoAdded release barrier to node initialization
khizmax [Tue, 18 Apr 2017 18:07:12 +0000 (21:07 +0300)]
Added release barrier to node initialization

4 years agoFixed memory ordering (by TSan reports)
khizmax [Mon, 17 Apr 2017 19:34:50 +0000 (22:34 +0300)]
Fixed memory ordering (by TSan reports)

4 years agoDisabled signal-handled RCU for TSan build
khizmax [Sun, 16 Apr 2017 18:47:06 +0000 (21:47 +0300)]
Disabled signal-handled RCU for TSan build

4 years agoRemooved constespr from ctor
khizmax [Sun, 16 Apr 2017 18:46:25 +0000 (21:46 +0300)]
Remooved constespr from ctor

4 years agoRemoved redundant comment
khizmax [Sun, 16 Apr 2017 16:24:45 +0000 (19:24 +0300)]
Removed redundant comment