- Jul 02, 2021
-
-
Łukasz Stolarczuk authored
inline_string: do not check if inline_string is on pmem
-
Łukasz Stolarczuk authored
Radix: concurrent erase
-
Igor Chorążewicz authored
In pmemkv we have a use for keeping inline_string in DRAM. It's also safe (unlike for e.g. pmem::obj::string) since inline_string does not manage allocations.
-
Igor Chorążewicz authored
radix_tree: fix key comparison in internal_bound
-
- Jul 01, 2021
-
-
Łukasz Stolarczuk authored
Ubsan fixes
-
Łukasz Stolarczuk authored
Weekly fixes
-
Igor Chorążewicz authored
p_ext_0_none fails with: "runtime error: shift exponent 127 is too large for 32-bit type 'int'" concurrent_hash_map_layout_0_none fails with: "runtime error: reference binding to null pointer of type ..."
-
Igor Chorążewicz authored
Cast to unsigned was in wrong place. We casted result of assignemnt which already overflowed which resulted in the follwowing error in multiple radix tests under UBSAN: "runtime error: signed integer overflow: 5 + 2147483647 cannot be represented in type 'int'"
-
Igor Chorążewicz authored
Previously it was default-initialized to nullptr in copy ctor from non-const iterator which resulted in the following error for multiple radix tests under UBSAN: "runtime error: member call on null pointer of type ..."
-
Igor Chorążewicz authored
Original implementation resulted in the following error in multiple radix tests under UBSAN: "runtime error: reference binding to misaligned address 0x7fc4f7bc08dc for type 'const double', which requires 8 byte alignment"
-
Igor Chorążewicz authored
Key's bytes should be compared as unsigned chars. Otherwsie thse comparison will yield incorrect result for values < 0.
-
Łukasz Stolarczuk authored
Radix tree concurrent fix
-
- Jun 30, 2021
-
-
Igor Chorążewicz authored
Found by weekly USAN tests
-
Igor Chorążewicz authored
* add missing pmreorder suffix * remove unnecessary mpsc_queue prefix
-
- Jun 29, 2021
-
-
Jan Dorniak authored
-
Jan Dorniak authored
Simplify previously imported EBR to C++. Modify radix_tree to work with it. Add tests to check if garbage collection is done properly when we are erasing and reading concurrently from the radix.
-
Igor Chorążewicz authored
they are not compatible
-
- Jun 28, 2021
-
-
Igor Chorążewicz authored
mpsc_queue: improvements needed by multi-tier engine
-
Igor Chorążewicz authored
-
Igor Chorążewicz authored
in radix_tree_iterator::operator++/-- <-> internal_bound. The recursion caused stack overflow errors, e.g. : https://github.com/pmem/libpmemobj-cpp/issues/1091
-
- Jun 25, 2021
-
-
Łukasz Stolarczuk authored
Fix Clang detection
-
Łukasz Stolarczuk authored
CI: add new workflow with more jobs
-
michalbiesek authored
- use CMAKE_CXX_COMPILER_VERSION/CMAKE_C[XX]_COMPILER_ID for setting compiler conditions - fixes #1090
-
Łukasz Stolarczuk authored
by renaming 'other_OSes.yml' to 'nigthly.yml' and reordering some jobs.
-
Łukasz Stolarczuk authored
executing USAN, UBSAN and valgrind tests using upstream valgrind's package.
-
Igor Chorążewicz authored
-
- Jun 24, 2021
-
-
Łukasz Stolarczuk authored
vector: Fix undefined behaviour on realloc
-
Igor Chorążewicz authored
in try_consume_batch. In case producers constantly produce new data, try_consume_batch will be called over and over again leading to stack overflow.
-
Łukasz Stolarczuk authored
Mpsc queue fix
-
Lucas A. M. Magalhaes authored
On tests listed bellow the reserve method is being called before any allocation on the object therefore realloc being called without any previous allocation. Inside realloc _data is being used with the operator '[]', as it is nullptr at that moment it's an undefined behaviour. This patch simply returns a call to alloc if _data is nullptr. This tests fails on PowerPC with Segmentation Fault because of this issue: segment_vector_array_expsize_assign_exceptions_oom_0_none segment_vector_array_expsize_assign_exceptions_oom_0_memcheck segment_vector_array_expsize_capacity_exceptions_oom_0_none segment_vector_array_expsize_capacity_exceptions_oom_0_memcheck segment_vector_array_expsize_modifiers_exceptions_oom_0_none segment_vector_array_expsize_modifiers_exceptions_oom_0_memcheck segment_vector_vector_expsize_assign_exceptions_oom_0_none segment_vector_vector_expsize_assign_exceptions_oom_0_memcheck segment_vector_vector_expsize_capacity_exceptions_oom_0_none segment_vector_vector_expsize_capacity_exceptions_oom_0_memcheck segment_vector_vector_expsize_modifiers_exceptions_oom_0_none segment_vector_vector_expsize_modifiers_exceptions_oom_0_memcheck segment_vector_vector_fixedsize_assign_exceptions_oom_0_none segment_vector_vector_fixedsize_assign_exceptions_oom_0_memcheck Signed-off-by:Lucas A. M. Magalhães <lamm@linux.ibm.com>
-
Igor Chorążewicz authored
PMREORDER maker was not ended correctly
-
Igor Chorążewicz authored
Change `produce_size` type to avoid sign-compare error
-
Igor Chorążewicz authored
-
Igor Chorążewicz authored
-
- Jun 23, 2021
-
-
Łukasz Stolarczuk authored
mpsc_queue: extend queue to support arbitrary sized values
-
Igor Chorążewicz authored
It needs to be further debugged
-
Igor Chorążewicz authored
- rename try_consume to try_consume_batch - rename read_accessor to batch_type - clear cachelines only after user callback executes: this allows iterating over the data arbitrary number of times (including 0) - call user callback within a transaction to simplify logic
-
Igor Chorążewicz authored
-
Igor Chorążewicz authored
-
Igor Chorążewicz authored
-