compute-runtime/shared/source/page_fault_manager
Jack Myers d62122a656 fix: exceptions to TBX faultable types
This commit addresses a bug in the previous implementation where almost all once
writable types, except `gpuTimestampBuffers`, were incorrectly enabled for TBX
faultable checks. The fix ensures that only the subset of once writable
types that are also lockable are considered TBX faultable, using the lockable
check to avoid manual exceptions and re-inventing the wheel.

Changes:

- Updated `isAllocTbxFaultable` method to check if the allocation type is
lockable in addition to being once writable.
- Refactored unit tests to include separate checks for lockable and non-lockable
allocation types.

Performance optimization:

- Removed unnecessary memory data erasure in `handlePageFault` to avoid constant
erase/insert operations, leveraging the O(1) search time of unordered maps.

Related-To: NEO-12319
Signed-off-by: Jack Myers <jack.myers@intel.com>
2025-01-17 00:52:49 +01:00
..
linux fix: regression caused by tbx fault mngr 2025-01-09 07:48:53 +01:00
windows fix: regression caused by tbx fault mngr 2025-01-09 07:48:53 +01:00
CMakeLists.txt fix: regression caused by tbx fault mngr 2025-01-09 07:48:53 +01:00
cpu_page_fault_manager.cpp fix: regression caused by tbx fault mngr 2025-01-09 07:48:53 +01:00
cpu_page_fault_manager.h fix: regression caused by tbx fault mngr 2025-01-09 07:48:53 +01:00
tbx_page_fault_manager.cpp fix: exceptions to TBX faultable types 2025-01-17 00:52:49 +01:00
tbx_page_fault_manager.h fix: regression caused by tbx fault mngr 2025-01-09 07:48:53 +01:00