compute-runtime/shared/source/memory_manager
Maciej Bielski a71b88fefb PageFaultHandler: speedup UM allocations lookup
Add a per-instance SVMAllocsManager::nonGpuDomainAllocs container for
all allocations to be removed in
moveAllocationsWithinUMAllocsManagerToGpuDomain. This approach replaces
the current iterative search and performs the task faster.

Add 7 new unit-tests to verify the functionality related to
nonGpuDomainAllocs container, both in expected and unexpected/synthetic
scenarios.

For UTs replace a dummy unifiedMemoryManager pointer with a pointer to
an instace of SVMAllocsManager, otherwise a SegFault error is thrown at
the end of tests.

Perform overall cleanup in related tests implementation, includes but
not limited to removal of:

- givenInitialPlacementGpu\
WhenMovingToGpuDomainThenFirstAccessDoesNotInvokeTransfer

As it is fully covered by:

givenAllocationMovedToGpuDomain\
WhenVerifyingPagefaultThenAllocationIsMovedToCpuDomain

- givenInitialPlacementGpu\
WhenVerifyingPagefaultThenFirstAccessDoesNotInvokeTransfer

As it is fully covered by:

givenTbxAndnitialPlacementGpu\
WhenVerifyingPagefaultThenMemoryIsUnprotectedOnly

Finally, reduce code duplication where possible.

Related-To: NEO-6658
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2022-03-16 11:18:24 +01:00
..
definitions Set page table cloning on for event device allocs 2022-02-24 22:35:03 +01:00
CMakeLists.txt Move AllocationType enum out of GraphicsAllocation class 2022-02-04 17:49:09 +01:00
address_mapper.cpp Copyright header update 2021-05-17 20:38:19 +02:00
address_mapper.h Copyright header update 2021-05-17 20:38:19 +02:00
alignment_selector.cpp Add AlignmentSelector helper 2021-06-01 11:44:04 +02:00
alignment_selector.h Add AlignmentSelector helper 2021-06-01 11:44:04 +02:00
allocation_properties.h Move AllocationType enum out of GraphicsAllocation class 2022-02-04 17:49:09 +01:00
allocation_type.h Move AllocationType enum out of GraphicsAllocation class 2022-02-04 17:49:09 +01:00
allocations_list.cpp Move AllocationType enum out of GraphicsAllocation class 2022-02-04 17:49:09 +01:00
allocations_list.h Move AllocationType enum out of GraphicsAllocation class 2022-02-04 17:49:09 +01:00
compression_selector.h Rename compression flags and helpers 2021-12-03 18:09:02 +01:00
deferrable_allocation_deletion.cpp Verify completion on all tiles 2021-10-15 15:43:28 +02:00
deferrable_allocation_deletion.h Copyright header update 2021-05-17 20:38:19 +02:00
deferrable_deletion.h Copyright header update 2021-05-17 20:38:19 +02:00
deferred_deleter.cpp Copyright header update 2021-05-17 20:38:19 +02:00
deferred_deleter.h Copyright header update 2021-05-17 20:38:19 +02:00
eviction_status.h
gfx_partition.cpp Extend GfxPartition to support 57b addressing 2021-12-08 16:05:05 +01:00
gfx_partition.h Enable custom allocation alignments on Linux 2021-05-24 12:56:51 +02:00
graphics_allocation.cpp Helper method to check if allocation is compressed 2021-12-02 16:13:53 +01:00
graphics_allocation.h Move AllocationType enum out of GraphicsAllocation class 2022-02-04 17:49:09 +01:00
host_ptr_defines.h Copyright header update 2021-05-17 20:38:19 +02:00
host_ptr_manager.cpp Copyright header update 2021-05-17 20:38:19 +02:00
host_ptr_manager.h Copyright header update 2021-05-17 20:38:19 +02:00
internal_allocation_storage.cpp Move AllocationType enum out of GraphicsAllocation class 2022-02-04 17:49:09 +01:00
internal_allocation_storage.h Move AllocationType enum out of GraphicsAllocation class 2022-02-04 17:49:09 +01:00
local_memory_usage.cpp Choose valid bank from memory bank selector 2020-06-26 10:51:43 +02:00
local_memory_usage.h Choose valid bank from memory bank selector 2020-06-26 10:51:43 +02:00
memadvise_flags.h Add mem advise control flags to drm alocation 2021-10-12 11:39:06 +02:00
memory_banks.h Partial support for XE_HP_SDV 2021-06-24 18:35:54 +02:00
memory_manager.cpp Dont close shared handle on imported allocations 2022-03-06 04:35:47 +01:00
memory_manager.h Add memory prefetch for kmd migrated shared allocations 2022-03-09 16:02:18 +01:00
memory_operations_handler.h Fix DirectSubmission residency handling 2021-09-03 16:57:42 +02:00
memory_operations_status.h Return error when failing on submission 2022-01-12 16:42:30 +01:00
memory_pool.h
migration_sync_data.cpp Add mechanism to migrate multi root device memory 2021-07-19 19:49:22 +02:00
migration_sync_data.h Add mechanism to migrate multi root device memory 2021-07-19 19:49:22 +02:00
multi_graphics_allocation.cpp Move AllocationType enum out of GraphicsAllocation class 2022-02-04 17:49:09 +01:00
multi_graphics_allocation.h Move AllocationType enum out of GraphicsAllocation class 2022-02-04 17:49:09 +01:00
os_agnostic_memory_manager.cpp Dont close shared handle on imported allocations 2022-03-06 04:35:47 +01:00
os_agnostic_memory_manager.h Dont close shared handle on imported allocations 2022-03-06 04:35:47 +01:00
page_table.cpp Move some shared tests to shared 2021-05-18 13:51:18 +02:00
page_table.h Move some shared tests to shared 2021-05-18 13:51:18 +02:00
page_table.inl Move some shared tests to shared 2021-05-18 13:51:18 +02:00
physical_address_allocator.h Partial support for XE_HP_SDV 2021-06-24 18:35:54 +02:00
residency.cpp Copyright header update 2021-05-17 20:38:19 +02:00
residency.h Copyright header update 2021-05-17 20:38:19 +02:00
residency_container.h Enabling WDDM_LINUX by default 2021-07-14 12:42:29 +02:00
surface.h WSL fallback to staging buffer on blocking reads 2021-10-28 03:34:58 +02:00
unified_memory_manager.cpp Dont close shared handle on imported allocations 2022-03-06 04:35:47 +01:00
unified_memory_manager.h PageFaultHandler: speedup UM allocations lookup 2022-03-16 11:18:24 +01:00