- Nov 19, 2019
-
-
Szymon Romik authored
Implement rehash_bucket using a transaction
-
- Nov 14, 2019
-
-
Igor Chorazewicz authored
And use it for long running tests (concurrent hash map drd tests).
-
Igor Chorazewicz authored
This test aborts application in the middle of rehash operation and checks consistency after restart.
-
- Nov 06, 2019
-
-
Igor Chorazewicz authored
This fixes problem with inconsistent state after crash. In previous implementation if application crashed in the middle of rehash it was possible that two buckets (old and new) pointed to the same element. This meant that size could be too big (some elements could be counted twice). Putting all operations which change list pointers inside of a transction solves this issue and eliminates requirement to have 'restore_after_crash' logic. set_rehashed is done outside of a transaction because otherwise: - on abort rehashed flag would be rolled back by obj using memcpy instead of std::atomic API which could be UB - some thread could check for rehashed flag and decide that rehash is not needed but after that transaction could abort and move elements back
-
Szymon Romik authored
Fail concurrent_hash_map drd/helgrind tets on non-pmem
-
- Nov 05, 2019
-
-
Igor Chorazewicz authored
Add option to enable concurrent_hash_map drd and helgrind tests. If this option is enabled and TEST_DIR points to non-pmem fail tests which require pmem and print appropriate error message.
-
- Nov 04, 2019
-
-
Igor Chorążewicz authored
Some tests and examples require clang >= 8.0
-
- Oct 29, 2019
-
-
Lukasz Dorau authored
-
Igor Chorążewicz authored
Fix installing libpmem-*.rpm
-
Igor Chorążewicz authored
Fix removing pkg-config rpm package
-
- Oct 23, 2019
-
-
Lukasz Dorau authored
Most rpm based OSes use the 'pkgconf' name, only openSUSE uses 'pkg-config'.
-
Lukasz Dorau authored
Replace 'libpmem-*.rpm' with 'libpmem*.rpm'. It fixes following errors on openSUSE: error: Failed dependencies: libpmemobj1 = 1.7-1.suse1500 is needed by libpmemobj-debug-1.7-1.suse1500.x86_64 libpmemobj1 = 1.7-1.suse1500 is needed by libpmemobj-devel-1.7-1.suse1500.x86_64 error: Failed dependencies: libpmem1 = 1.7-1.suse1500 is needed by libpmem-debug-1.7-1.suse1500.x86_64 libpmem1 = 1.7-1.suse1500 is needed by libpmem-devel-1.7-1.suse1500.x86_64
-
- Oct 22, 2019
-
-
Igor Chorążewicz authored
Change header_features constant to a function in concurrent_hash_map.
-
Igor Chorazewicz authored
-
Igor Chorążewicz authored
Add test with concurrent_hash_map and pmem::obj::string
-
- Oct 21, 2019
-
-
Igor Chorazewicz authored
-
- Oct 18, 2019
-
-
Igor Chorazewicz authored
(and not libpmem). Add FindLIBPMEM.cmake Previous behaviour was inconsistent with pkg_check_modules(LIBPMEMOBJ ...) which only looked for libpmemobj.
-
- Oct 16, 2019
-
-
Igor Chorążewicz authored
Remove using namespace from a header
-
Igor Chorążewicz authored
Install pmdk-debuginfo package
-
- Oct 14, 2019
-
-
Igor Chorążewicz authored
Merge pull request #480 from ldorau/common-fix-invalid-TRAVIS_COMMIT_RANGE-in-case-of-non-upstream-repository common: fix invalid TRAVIS_COMMIT_RANGE in case of non-upstream repository
-
- Oct 11, 2019
-
-
Igor Chorążewicz authored
Add missing --output-on-failure to all ctest calls
-
Lukasz Dorau authored
-
Lukasz Dorau authored
-
Igor Chorazewicz authored
-
Igor Chorążewicz authored
Add valgrind instrumentation to concurrent_hash_map
-
Igor Chorążewicz authored
Add -j$(nproc) to make commands
-
- Oct 10, 2019
-
-
Lukasz Dorau authored
It fixes the following error on Fedora-rawhide: error: Failed dependencies: pmdk-debuginfo(x86-64) = 1.7-1.fc32 is needed by libpmem-debug-debuginfo-1.7-1.fc32.x86_64 pmdk-debuginfo(x86-64) = 1.7-1.fc32 is needed by libpmem-debuginfo-1.7-1.fc32.x86_64
-
Lukasz Dorau authored
TRAVIS_COMMIT_RANGE is usually invalid for force pushes. Fix it when used with a non-upstream repository by setting to the following value: $LAST_MERGE_COMMIT..HEAD
-
Lukasz Dorau authored
-
- Oct 08, 2019
-
-
Sergei Vinogradov authored
The commit fix the issue with concurrent_hash_map_rehash_0_helgrind test
-
- Oct 07, 2019
-
-
Igor Chorazewicz authored
header_features was only declared (not defined) in concurrent_hash_map header. This means that (until C++17) it can be used only in places where address of this constant is not needed. In operator != we access one member of header_fatures which requrires it to be declared. This only fails for some compilers like clang-9 because rest of the evaluate this expression at compile time (this is a compiler decision whether to do this at compile time or runtime). Fix this issue by creating function header_features().
-
- Oct 03, 2019
-
-
Szymon Romik authored
-
Szymon Romik authored
-
Szymon Romik authored
-
Szymon Romik authored
-
Szymon Romik authored
-
Szymon Romik authored
-
Szymon Romik authored
segment_vector: fix typo and doxygen comments
-
Szymon Romik authored
test: fix briefs of concurrent_hash_map test files
-
Szymon Romik authored
Merge back changes from stable 1.7
-