khizmax [Wed, 13 Sep 2017 05:39:56 +0000 (08:39 +0300)]
Changed library name for MSVC++
khizmax [Tue, 12 Sep 2017 18:13:29 +0000 (21:13 +0300)]
Changed library name for MSVC++
Fixed warnings for MS VC 15.3 (C++ toolset has been changed in 15.3)
khizmax [Tue, 12 Sep 2017 18:11:45 +0000 (21:11 +0300)]
Fixed -Wshadow warnings
khizmax [Fri, 8 Sep 2017 05:39:01 +0000 (08:39 +0300)]
CI: added clang-5
khizmax [Sat, 2 Sep 2017 15:31:39 +0000 (18:31 +0300)]
reformatting
khizmax [Sat, 2 Sep 2017 08:02:12 +0000 (11:02 +0300)]
add missing '"'
khizmax [Fri, 1 Sep 2017 06:27:28 +0000 (09:27 +0300)]
version 2.4.0
khizmax [Tue, 29 Aug 2017 16:46:37 +0000 (19:46 +0300)]
formatting
khizmax [Tue, 29 Aug 2017 16:05:07 +0000 (19:05 +0300)]
maintenance release 2.3.1
khizmax [Thu, 24 Aug 2017 20:05:19 +0000 (23:05 +0300)]
Modified travis script
khizmax [Thu, 24 Aug 2017 16:12:31 +0000 (19:12 +0300)]
changed travis script
khizmax [Thu, 24 Aug 2017 14:08:28 +0000 (17:08 +0300)]
Changed target name
khizmax [Thu, 24 Aug 2017 10:13:02 +0000 (13:13 +0300)]
Modified travis script
khizmax [Thu, 24 Aug 2017 06:11:11 +0000 (09:11 +0300)]
Added travis.ci badge
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
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.
Unknown [Wed, 23 Aug 2017 11:08:15 +0000 (14:08 +0300)]
Merge remote-tracking branch 'khizmax/master'
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
Marsel Galimullin [Sun, 20 Aug 2017 15:49:55 +0000 (18:49 +0300)]
fixed add_custom_target() in intrusice-set and set
khizmax [Sun, 20 Aug 2017 09:01:02 +0000 (12:01 +0300)]
changelog
khizmax [Sun, 20 Aug 2017 08:53:23 +0000 (11:53 +0300)]
Merge branch 'master' into dev
khizmax [Sun, 20 Aug 2017 08:52:02 +0000 (11:52 +0300)]
changelog
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
Louis Dionne [Sat, 19 Aug 2017 21:44:05 +0000 (14:44 -0700)]
Fix mis-rendered markdown link in the README
khizmax [Sat, 19 Aug 2017 08:32:29 +0000 (11:32 +0300)]
Merge branch 'ldionne-ldionne-cmake' into dev
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.
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.
khizmax [Mon, 14 Aug 2017 19:40:32 +0000 (22:40 +0300)]
doc formatting
khizmax [Mon, 14 Aug 2017 10:31:59 +0000 (13:31 +0300)]
issue #82: added doc about DCAS support
khizmax [Sat, 12 Aug 2017 15:26:53 +0000 (18:26 +0300)]
[uRCU] Removed redundant atomic_thread_fence
khizmax [Thu, 10 Aug 2017 17:13:13 +0000 (20:13 +0300)]
Issue #81: fixed extending thread's retired array in gc::DHP SMR
khizmax [Mon, 31 Jul 2017 08:08:24 +0000 (11:08 +0300)]
changed version to 2.4.0
khizmax [Mon, 31 Jul 2017 07:46:43 +0000 (10:46 +0300)]
Removed trailing spaces
khizmax [Mon, 31 Jul 2017 07:41:47 +0000 (10:41 +0300)]
ver 2.4.0
khizmax [Mon, 31 Jul 2017 07:05:50 +0000 (10:05 +0300)]
Final changelog ver 2.3
khizmax [Sun, 23 Jul 2017 08:33:46 +0000 (11:33 +0300)]
Fixed compiler error
khizmax [Sat, 22 Jul 2017 10:00:18 +0000 (13:00 +0300)]
[TSan] Fixed data race in std container wrappers
khizmax [Tue, 18 Jul 2017 09:24:02 +0000 (12:24 +0300)]
Tuning stress-tests for GCCFarm
khizmax [Sat, 8 Jul 2017 15:19:59 +0000 (18:19 +0300)]
[TSan] Fixed data races
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
khizmax [Sat, 8 Jul 2017 07:11:30 +0000 (10:11 +0300)]
Fixed memory ordering
khizmax [Tue, 27 Jun 2017 18:09:45 +0000 (21:09 +0300)]
[TSan] Fixed data race
khizmax [Sat, 3 Jun 2017 09:26:23 +0000 (12:26 +0300)]
Added TSan happens-before annotations (TSan don't understand atomic_thread_fence)
khizmax [Sat, 3 Jun 2017 08:09:31 +0000 (11:09 +0300)]
Fixed memory ordering
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
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)
khizmax [Tue, 30 May 2017 19:13:08 +0000 (22:13 +0300)]
Fixed ambiguous ceil2() call in 32bit target
khizmax [Tue, 30 May 2017 15:31:37 +0000 (18:31 +0300)]
Fixed MSVC project dependencies
khizmax [Sun, 28 May 2017 18:00:34 +0000 (21:00 +0300)]
Fixed memory ordering
khizmax [Sat, 27 May 2017 15:16:27 +0000 (18:16 +0300)]
[AIX] Added missing byteswap.h
khizmax [Fri, 26 May 2017 19:44:28 +0000 (22:44 +0300)]
Added a comment
khizmax [Fri, 26 May 2017 19:43:24 +0000 (22:43 +0300)]
[ARM] Added memory fences for strict modification order during rotation
khizmax [Wed, 24 May 2017 18:00:54 +0000 (21:00 +0300)]
Fixed memory order
khizmax [Wed, 24 May 2017 17:58:03 +0000 (20:58 +0300)]
Fixed memory ordering
khizmax [Tue, 23 May 2017 19:45:03 +0000 (22:45 +0300)]
Fixed clang "unused-function" warning
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
khizmax [Tue, 23 May 2017 18:00:36 +0000 (21:00 +0300)]
Tuning parameters for spsc-queue stress tests
khizmax [Tue, 23 May 2017 07:50:25 +0000 (10:50 +0300)]
Tuning parameters of insdel-string map/set stress tests
khizmax [Tue, 23 May 2017 07:42:01 +0000 (10:42 +0300)]
Tuning parameters of map_insdel_item_int stress test
khizmax [Sun, 21 May 2017 16:54:23 +0000 (19:54 +0300)]
Added SPSC queue stress tests
khizmax [Sun, 21 May 2017 16:43:31 +0000 (19:43 +0300)]
Docfix
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
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
khizmax [Sat, 13 May 2017 16:43:59 +0000 (19:43 +0300)]
GCC-7 64bit does not support lock-free wide (128-bit) atomics
khizmax [Sat, 13 May 2017 16:43:04 +0000 (19:43 +0300)]
Merged VC 14.1 projects to VC14
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
khizmax [Fri, 12 May 2017 19:22:48 +0000 (22:22 +0300)]
Fixed a bug
khizmax [Fri, 12 May 2017 19:07:35 +0000 (22:07 +0300)]
Fixed a bug
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)
khizmax [Thu, 11 May 2017 18:33:41 +0000 (21:33 +0300)]
Fixed typo
khizmax [Thu, 11 May 2017 18:31:20 +0000 (21:31 +0300)]
Try to disable CLang "unused private field" warning
khizmax [Thu, 11 May 2017 18:17:19 +0000 (21:17 +0300)]
Added missing header
khizmax [Wed, 10 May 2017 21:04:21 +0000 (00:04 +0300)]
Fixed typo
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
khizmax [Tue, 9 May 2017 08:04:54 +0000 (11:04 +0300)]
Added WeakRingBuffer - a single-producer/single-consumer queue based on ring buffer
khizmax [Mon, 8 May 2017 17:29:24 +0000 (20:29 +0300)]
Docfix
khizmax [Sun, 7 May 2017 08:46:58 +0000 (11:46 +0300)]
Docfix
khizmax [Sat, 6 May 2017 16:38:33 +0000 (19:38 +0300)]
[SplitList] Fixed TSan warnings
khizmax [Thu, 4 May 2017 20:20:46 +0000 (23:20 +0300)]
Added support __SANITIZE_THREAD__ pre-defined macro for GCC-5+
khizmax [Thu, 4 May 2017 07:38:06 +0000 (10:38 +0300)]
Fixed "dangling-else" GCC7 warning
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
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.
khizmax [Wed, 3 May 2017 19:11:29 +0000 (22:11 +0300)]
Fixed include directive
khizmax [Wed, 3 May 2017 18:48:45 +0000 (21:48 +0300)]
Added missing CityHash file for SSE4.2 platform
khizmax [Wed, 3 May 2017 18:26:13 +0000 (21:26 +0300)]
Added GCC-7 to CI
khizmax [Wed, 3 May 2017 18:18:58 +0000 (21:18 +0300)]
Added -Wno-unused-local-typedefs for GCC7
khizmax [Wed, 26 Apr 2017 18:47:21 +0000 (21:47 +0300)]
Fixed a typo
khizmax [Wed, 26 Apr 2017 13:46:53 +0000 (16:46 +0300)]
Fixed minor warnings
khizmax [Tue, 25 Apr 2017 18:31:05 +0000 (21:31 +0300)]
Added missing pthread lib to cmake test script
khizmax [Mon, 24 Apr 2017 21:01:40 +0000 (00:01 +0300)]
Added cleaning after CHECK_CXX_SOURCE_COMPILES call
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
khizmax [Mon, 24 Apr 2017 19:57:58 +0000 (22:57 +0300)]
Fixed uRCU barriers on read-side entry/exit
khizmax [Mon, 24 Apr 2017 16:11:45 +0000 (19:11 +0300)]
Removed prohibited atomic<void*>::fetch_xxx() tests
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
khizmax [Sun, 23 Apr 2017 21:35:07 +0000 (00:35 +0300)]
Removed odd assert
khizmax [Sun, 23 Apr 2017 20:52:19 +0000 (23:52 +0300)]
Removed constexpr from node ctor
khizmax [Sun, 23 Apr 2017 17:19:23 +0000 (20:19 +0300)]
[signal-handled urcu]: 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
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
khizmax [Sat, 22 Apr 2017 14:46:46 +0000 (17:46 +0300)]
[SkipList] Added random-lvel generators for max height 32/24/16