History log of /oneTBB/src/tbbmalloc/tbbmalloc_internal.h (Results 1 – 17 of 17)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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