compute-runtime/shared/source/utilities
Maciej Bielski b7ecf99abb feature: add optional onChunkFree callback to AbstractBuffersPool
Instances returned by `getAllocationsVector()` in some cases cannot be
freed (in the `malloc/new` sense) until the `drain()` function invokes
`allocInUse()` on them. Plus, the `chunksToFree` container operates on
pairs `{offset, size}`, not pointers, so such pair cannot be used to
release allocations either.

Provide an optional callback, which can be implemented by the custom
pool derived from `AbstractBuffersPool`. This callback can be used, for
example, to perform actual release of an allocation related to the
currently processed chunk.

Additionally, provide the `drain()` and `tryFreeFromPoolBuffer()`
functions with pool-independent versions and keep the previous versions
as defaults (for allocators with a single pool). The new versions allow
reusing the code for cases when allocator has multiple pools.

In both cases, there was no such needs so far but it arose when working
on `IsaBuffersAllocator`. The latter is coming with future commits, but
the shared code modifications are extracted as an independent step.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-07-06 10:38:55 +02:00
..
aarch64
linux refactor: Rename member variables to camelCase 2023-04-26 16:05:07 +02:00
windows refactor: Rename member variables to camelCase 2023-04-26 16:05:07 +02:00
x86_64
CMakeLists.txt
api_intercept.h
arrayref.h
buffer_pool_allocator.h feature: add optional onChunkFree callback to AbstractBuffersPool 2023-07-06 10:38:55 +02:00
buffer_pool_allocator.inl feature: add optional onChunkFree callback to AbstractBuffersPool 2023-07-06 10:38:55 +02:00
const_stringref.h Cleanup includes 10 2022-12-05 12:39:33 +01:00
cpu_info.h
cpuintrinsics.cpp
cpuintrinsics.h
debug_file_reader.cpp
debug_file_reader.h Cleanup includes 53 2023-02-15 13:21:14 +01:00
debug_settings_reader.cpp
debug_settings_reader.h
debug_settings_reader_creator.cpp
debug_settings_reader_creator.h
directory.h Add support for USM shared in WSL for dGPU 2022-12-19 11:09:55 +01:00
heap_allocator.cpp Revert "fix: support alignments in host and shared UnifiedMemoryAllocation" 2023-06-14 06:32:40 +02:00
heap_allocator.h Revert "Heap allocation allow base address and growable addresses" 2023-02-15 18:34:40 +01:00
hw_timestamps.h refactor: Rename member variables to camelCase 2023-04-26 16:05:07 +02:00
idlist.h Cleanup includes 7 2022-11-28 17:01:48 +01:00
iflist.h
io_functions.cpp Refactor of IO functions 2023-04-13 10:46:47 +02:00
io_functions.h Refactor of IO functions 2023-04-13 10:46:47 +02:00
logger.cpp fix: do not remove log file when logging disabled 2023-04-21 00:44:03 +02:00
logger.h feature: Allow redirecting debugger logs to log file 2022-12-27 16:01:19 +01:00
lookup_array.h
metrics_library.h
numeric.h
perf_counter.h
perf_profiler.cpp refactor: Rename member variables to camelCase 2/n 2023-04-27 20:39:22 +02:00
perf_profiler.h refactor: Rename member variables to camelCase 2/n 2023-04-27 20:39:22 +02:00
range.h
reference_tracked_object.h Cleanup includes 7 2022-11-28 17:01:48 +01:00
software_tags.cpp refactor: Rename member variables to camelCase 2/n 2023-04-27 20:39:22 +02:00
software_tags.h refactor: Rename member variables to camelCase 2/n 2023-04-27 20:39:22 +02:00
software_tags_manager.cpp Cleanup includes 11 2022-12-06 12:25:30 +01:00
software_tags_manager.h
spinlock.h
stackvec.h fix: create dedicated class for root device indices to store unique values 2023-06-12 22:24:06 +02:00
tag_allocator.cpp Cleanup includes 17 2023-01-02 10:59:08 +01:00
tag_allocator.h Cleanup includes 42 2023-01-25 09:16:39 +01:00
tag_allocator.inl refactor: use hex values to print TSP usage 2023-06-23 11:22:10 +02:00
time_measure_wrapper.h
timer_util.h
wait_util.cpp
wait_util.h