compute-runtime/shared/source/command_stream
Jack Myers 5f78147e16 fix: hotfix for svmcpu tbx uploads
Test program in the linked, related issue
is crashing in tbx mode. Tbx server indicated
upload of invalid memory was made before exit.

Running with debug messages showed that the
problematic upload was an svmcpu buffer when
running neo with separate cpu and gpu
buffers for shared memory management.

Using this info, the problem was narrowed down
to a missing unprotect call in page fault manager
related code, resulting in a protected(invalid)
memory region getting uploaded to tbx.

It is unclear yet why this unprotect call was not made,
since other svmcpu buffers were uploaded without issue.

This hotfix forces the unprotect call in the fault handler,
which allows the test program to run to completion. However,
there is now a failing test case.

Considering the critical nature of the associated
NEO issue and that this patch should unblock
the work depending on the fix, this hotfix should
get merged regardless of the failing test case.

In the meantime, I will continue triaging the
failing test and will implement a proper fix
once the root cause is isolated.

Related-To: NEO-13404
Signed-off-by: Jack Myers <jack.myers@intel.com>
2025-03-14 04:47:21 +01:00
..
definitions fix: Remove pragma once from inl files 2025-02-18 20:19:15 +01:00
CMakeLists.txt refactor: adjust file names after pre-gen12 removal 6/n 2025-02-06 14:00:01 +01:00
aub_command_stream_receiver.cpp refactor: add AUBDumpCaptureDirPath debug flag 2024-06-13 14:17:50 +02:00
aub_command_stream_receiver.h Revert "fix: if device hierarchy is flat then getSubDevicesCount return 1u" 2023-10-26 15:40:29 +02:00
aub_command_stream_receiver_hw.h fix: Add asserts to ensure NonCopyable and NonMovable n/n 2025-02-19 11:36:24 +01:00
aub_command_stream_receiver_hw_base.inl fix: disable batched dispatch mode in aub csr 2025-02-18 13:45:15 +01:00
aub_command_stream_receiver_hw_bdw_and_later.inl refactor: remove not needed code 2024-09-16 12:12:43 +02:00
aub_command_stream_receiver_hw_xehp_and_later.inl
aub_subcapture_status.h
command_stream_receiver.cpp fix: raytracing heapless missing allocation 2025-03-06 17:26:09 +01:00
command_stream_receiver.h fix: signal notify field before KMD wait 2025-03-04 15:19:16 +01:00
command_stream_receiver_hw.h feature: add internal interfaces to manage all dispatch models of command lists 2025-02-28 12:02:22 +01:00
command_stream_receiver_hw_base.inl feature: disable flat ring buffer for command list append operation 2025-03-13 06:06:55 +01:00
command_stream_receiver_hw_dg2_and_later.inl refactor: Remove 3DSTATE_BTD_BODY structure 2024-12-31 16:27:29 +01:00
command_stream_receiver_hw_heap_addressing.inl performance: Move preemption allocation init to the first submission 2025-01-15 20:22:50 +01:00
command_stream_receiver_hw_xehp_and_later.inl refactor: Passing information about the engine 2024-04-22 13:33:56 +02:00
command_stream_receiver_simulated_common_hw.h Revert "performance: align structures for 64-bit platforms" 2025-01-15 09:02:01 +01:00
command_stream_receiver_simulated_common_hw_base.inl refactor: Release HardwareContext with aubManager 2024-07-24 14:01:43 +02:00
command_stream_receiver_simulated_common_hw_xehp_and_later.inl refactor: Add getTotalMemBankSize function to ReleaseHelper 2024-03-06 09:53:56 +01:00
command_stream_receiver_simulated_hw.h fix: improve task count handling in tbx download path 2024-08-28 15:32:15 +02:00
command_stream_receiver_with_aub_dump.h fix: Add asserts to ensure NonCopyable and NonMovable n/n 2025-02-19 11:36:24 +01:00
command_stream_receiver_with_aub_dump.inl fix: add missing aub polls on sync points 2024-11-21 09:17:54 +01:00
create_command_stream_impl.cpp feature: add support for null aub mode 2024-04-09 16:59:42 +02:00
create_command_stream_impl.h zesSysmanDeviceReset: Reinitialize device after device reset 2021-11-07 23:43:48 +01:00
csr_definitions.h feature: add optional epilogue to flush task method 2025-03-05 15:15:59 +01:00
csr_deps.cpp fix make resident dependent multi root device tags 2023-02-14 09:58:00 +01:00
csr_deps.h performance: don't flush gpgpu if not required 2024-07-26 06:49:45 +02:00
csr_properties_flags.h refactor: correct variable naming 2023-12-01 02:18:46 +01:00
device_command_stream.h
linear_stream.cpp Cleanup headers 2022-05-18 11:42:06 +02:00
linear_stream.h fix: Add asserts to ensure NonCopyable and NonMovable 3/n 2025-02-18 17:16:03 +01:00
memory_compression_state.h refactor: correct variable naming 2023-12-01 02:18:46 +01:00
preemption.cpp fix: remove w/a which disables wmtp in kernels with ray tracing 2024-10-07 14:28:08 +02:00
preemption.h refactor: remove not needed code 2024-09-16 14:55:55 +02:00
preemption.inl feature: Add gfxCoreHelper for StateSip required 2025-03-05 20:24:17 +01:00
preemption_mode.h
preemption_xe.inl refactor: remove not used usings/typedefs/variables 2024-11-28 16:19:39 +01:00
preemption_xe2_and_later.inl feature: add initial support for Xe2 platforms 2024-07-09 10:30:27 +02:00
queue_throttle.cpp performance: adjust ulls timeout on power saving 2024-06-17 16:51:55 +02:00
queue_throttle.h performance: adjust ulls timeout on power saving 2024-06-17 16:51:55 +02:00
scratch_space_controller.cpp refactor: create new members for storing spill and private memory in scratch 2024-01-23 12:42:25 +01:00
scratch_space_controller.h refactor: Change wording from NonCopyableOrMovable to NonCopyableAndNonMovable 2025-02-17 14:19:10 +01:00
scratch_space_controller_base.cpp fix: don't adjust programmed per thread scratch size 2025-01-10 11:35:50 +01:00
scratch_space_controller_base.h fix: scratch controller residency 2024-08-09 14:47:56 +02:00
scratch_space_controller_xehp_and_later.cpp fix: don't adjust programmed per thread scratch size 2025-01-10 11:35:50 +01:00
scratch_space_controller_xehp_and_later.h fix: don't adjust programmed per thread scratch size 2025-01-10 11:35:50 +01:00
stream_properties.cpp feature: Add missing pipelined EU thread arbitration on Xe3 2025-01-15 08:24:43 +01:00
stream_properties.h [perf] reduce host overhead in command list reset call 2023-04-05 11:29:39 +02:00
stream_properties_extra.cpp refactor: remove not used code 2024-09-12 13:40:11 +02:00
stream_property.h [perf] simplify state transition for size properties 2023-04-04 10:41:36 +02:00
submission_status.h refactor: correct naming of enum class constants 6/n 2023-12-13 14:48:52 +01:00
submissions_aggregator.cpp Revert "performance: align structures for 64-bit platforms" 2025-01-15 09:02:01 +01:00
submissions_aggregator.h fix: Add asserts to ensure NonCopyable and NonMovable n/n 2025-02-19 11:36:24 +01:00
tag_allocation_layout.h Introduce barrier tracking mechanism 2023-02-06 14:29:23 +01:00
task_count_helper.h Change task count type to uint64_t 2022-11-29 12:05:22 +01:00
tbx_command_stream_receiver.cpp
tbx_command_stream_receiver.h fix: Add asserts to ensure NonCopyable and NonMovable 3/n 2025-02-18 17:16:03 +01:00
tbx_command_stream_receiver_hw.h fix: hotfix for svmcpu tbx uploads 2025-03-14 04:47:21 +01:00
tbx_command_stream_receiver_hw.inl fix: hotfix for svmcpu tbx uploads 2025-03-14 04:47:21 +01:00
tbx_command_stream_receiver_xehp_and_later.inl
tbx_stream.cpp refactor: rename global debug manager to debugManager 2023-11-30 13:00:59 +01:00
thread_arbitration_policy.h Cleanup headers 2022-05-18 11:42:06 +02:00
transfer_direction.h refactor: correct naming of enum class constants 9/n 2023-12-19 10:36:25 +01:00
wait_status.h fix: dont download tbx allocations on heapless first device submission 2024-08-06 14:03:42 +02:00