|
Revision tags: v2021.12.0-rc1, v2021.4.1, v2021.11.0, v2021.2.4, v2021.11.0-rc1, v2021.11.0-src-rc1, v2021.2.3 |
|
| #
c4a799df |
| 23-Aug-2023 |
JhaShweta1 <[email protected]> |
Spelling correction (#1179)
* codespell changes
|
| #
3b378356 |
| 18-Aug-2023 |
Krzysztof Filipek <[email protected]> |
Add explicit methods to meet the "rule of zero/three/five"
Signed-off-by: Krzysztof Filipek <[email protected]>
|
| #
c79ef1e5 |
| 16-Aug-2023 |
Krzysztof Filipek <[email protected]> |
Add missing methods to RecursiveMallocCallProtector class
This commit adds missing methods to meet "the rule of three".
Signed-off-by: Krzysztof Filipek <[email protected]>
|
|
Revision tags: v2021.10.0 |
|
| #
32d5ec1f |
| 05-Jun-2023 |
Łukasz Plewa <[email protected]> |
Add additional synchronization around *CachesCleanup function
This commit fixes the issue when test_malloc_pools TestFixedBufferPool fails sporadically on test_malloc_pools.cpp:437
utils::NativePar
Add additional synchronization around *CachesCleanup function
This commit fixes the issue when test_malloc_pools TestFixedBufferPool fails sporadically on test_malloc_pools.cpp:437
utils::NativeParallelFor( p, FixedPoolUse(p, pool, MAX_OBJECT/p/2,1) );
The main problem was that threads were not aware of cleanup operations done by SoftCachesCleanup() and HardCachesCleanup() functions. So while one thread was doing a cleanup, the second one returns ENOMEM as it couldn't find any memory to allocate in the backend (this test creates fixedSizePool)
The change adds additional flags and counters that indicate cleanup operation is in progress, allowing the thread to wait for those operations to complete before deciding if there is free memory to allocate or not and return this information to the caller.
In the scenario reproduced by the test, memory for the allocation can be reclaimed from the LOC. This operation happens in the loc.cleanAll() or loc.regularCleanup functions called respectively, by hardCachesCleanup() or softCachesCleanup() functions. In those functions, free memory is removed from LOC and added to the backend bin. Between those operations, other threads are unaware that this memory block is free and returns ENOMEM to the user.
To fix this problem, this patch adds two flags to indicate that cleanup (soft or hard) is in progress, and threads should wait before returning NULL to the user.
But there was one more problem: backend::clean() function. This function removes memory from the bins to try to release or coalesce it. The problem is that other threads were not aware of this operation. It causes a 'funny' situation when:
Thread 1: Performs HardCachescleanup function Thread 2: wait "waitTillBlockReleased()" Thread 1: Returns memory from LOC Thread 2: exits waitTillBlockReleased() as it detected new memory in backend Thread 1: starts backend::clean() - removes memory from the bin to try coalesce it Thread 2: Fail memory allocation as there is no free block in bins, and returns ENOMEM Thread 1: Finish coalescing and return memory back to bins
To resolve this problem, this patch adds a counter which allows threads to detect when clean operation is done so that the threads will wait for the complition of there is no memory available.
Signed-off-by: Łukasz Plewa <[email protected]>
show more ...
|
|
Revision tags: v2021.10.0-rc1, v2020.3.3, v2021.2.2, v2021.9.0 |
|
| #
2110128e |
| 30-Mar-2023 |
sarathnandu <[email protected]> |
Introduce new SDL compile flags on Windows and fix warnings. (#1035)
* Add Windows compiler flags related to security and fix TBB Malloc Warnings.
---------
Signed-off-by: sarathnandu <sarath.na
Introduce new SDL compile flags on Windows and fix warnings. (#1035)
* Add Windows compiler flags related to security and fix TBB Malloc Warnings.
---------
Signed-off-by: sarathnandu <[email protected]>
Co-authored-by: Pavel Kumbrasev <[email protected]>
show more ...
|
|
Revision tags: v2021.2.1, v2021.9.0-rc1, v2020.3.2, v2021.8.0, v2021.8.0-rc1, v2020.3.1, v2021.7.0, v2021.7.0-rc1, v2021.6.0 |
|
| #
c21e688a |
| 01-Feb-2022 |
Sergey Zheltov <[email protected]> |
Update copyright year 2021 -> 2022 (#761)
Signed-off-by: Zheltov, Sergey1 <[email protected]>
|
| #
57f524ca |
| 26-Jan-2022 |
Ilya Isaev <[email protected]> |
clang-tidy: use nullptr instead of NULL (#631)
This patch applies clang-tidy check- modernize-use-nullptr
Signed-off-by: Ilya Isaev <[email protected]>
Co-authored-by: vlserov <vladimir.serov
clang-tidy: use nullptr instead of NULL (#631)
This patch applies clang-tidy check- modernize-use-nullptr
Signed-off-by: Ilya Isaev <[email protected]>
Co-authored-by: vlserov <[email protected]>
show more ...
|
|
Revision tags: v2021.6.0-rc1, v2021.5.0 |
|
| #
e82d2503 |
| 02-Nov-2021 |
Ilya Isaev <[email protected]> |
Check presence of Hugepagesize field (#594)
Don't enable HP and THP support if there is no Hugepagesize field in /proc/meminfo
Signed-off-by: Ilya Isaev <[email protected]>
|
|
Revision tags: v2021.5.0-rc2, v2021.5.0-rc1, v2021.4.0, v2021.4.0-rc1 |
|
| #
1ecde27f |
| 06-Aug-2021 |
Ilya Mishin <[email protected]> |
Fix inclusive language usage issues in tbbmalloc (#522)
Signed-off-by: Mishin, Ilya <[email protected]>
|
| #
dbccbee9 |
| 22-Jul-2021 |
Ilya Mishin <[email protected]> |
ICX compiler support on windows (#499)
* Support ICX on windows
Signed-off-by: Mishin, Ilya <[email protected]>
* clang macro
Signed-off-by: Mishin, Ilya <[email protected]>
* up
ICX compiler support on windows (#499)
* Support ICX on windows
Signed-off-by: Mishin, Ilya <[email protected]>
* clang macro
Signed-off-by: Mishin, Ilya <[email protected]>
* update compiler map
Signed-off-by: Mishin, Ilya <[email protected]>
* fix intptr_t
Signed-off-by: Mishin, Ilya <[email protected]>
* fix duplicate
Signed-off-by: Mishin, Ilya <[email protected]>
* fix spaces
Signed-off-by: Mishin, Ilya <[email protected]>
* fix spaces 2
Signed-off-by: Mishin, Ilya <[email protected]>
* update style
Signed-off-by: Mishin, Ilya <[email protected]>
* Update CMakeLists.txt
* Update test_openmp.cpp
show more ...
|
| #
734f0bc0 |
| 02-Jul-2021 |
Pablo Romero <[email protected]> |
Add support for QNX Neutrino (#440)
* Added support for QCC (QNX GNU Compiler)
* Enable source code compilation with non-Linux Unix systems with special focus on QNX.
Signed-off-by: promero <pro
Add support for QNX Neutrino (#440)
* Added support for QCC (QNX GNU Compiler)
* Enable source code compilation with non-Linux Unix systems with special focus on QNX.
Signed-off-by: promero <[email protected]>
show more ...
|
| #
112076d0 |
| 01-Jul-2021 |
Ilya Isaev <[email protected]> |
Improve code coverage (#463)
Signed-off-by: Ilya Isaev <[email protected]>
|
|
Revision tags: v2021.3.0 |
|
| #
8b6f831c |
| 17-May-2021 |
tbbdev <[email protected]> |
Commit oneTBB source code 5ba997e1
|
| #
478de5b1 |
| 05-May-2021 |
tbbdev <[email protected]> |
Commit oneTBB source code 82ff8707
|
|
Revision tags: v2021.2.0, v2021.2.0-rc |
|
| #
b15aabb3 |
| 26-Jan-2021 |
tbbdev <[email protected]> |
Commit oneTBB source code 9ed4a21c
|
|
Revision tags: v2021.1.1 |
|
| #
49e08aac |
| 28-Oct-2020 |
tbbdev <[email protected]> |
Commit oneTBB source code 6420d97a
|
|
Revision tags: v2021.1-beta10 |
|
| #
51c0b2f7 |
| 25-Sep-2020 |
tbbdev <[email protected]> |
Commit oneTBB source code 4ebd2d06
|