Addresses regressions from the reverted merge
of the tbx fault manager for host memory.
This fixes attempts by the tbx fault manager
to protect/unprotect host buffer memory, even
if the host ptr was not driver-allocated.
In the case of the smoke test that triggered
the critical regression, clCreateBuffer was
called with the CL_MEM_USE_HOST_PTR flag.
The subsequent `mprotect` calls on the
provided host ptr then failed.
Related-To: NEO-12268
Signed-off-by: Jack Myers <jack.myers@intel.com>
Track amount of created buffer pools per device. Do not allocate extra
pools if limit is reached. New contexts will have pooling disabled if
limit is reached on device.
Related-To: NEO-13461
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
eudebug interface is now hidden under EuDebugInterface class
shared code uses generic object and param values
layout of structs is guarded by static asserts
eudebug support is guarded by cmake flags:
- NEO_ENABLE_XE_EU_DEBUG_SUPPORT - enables eudebug in general
- NEO_USE_XE_EU_DEBUG_EXP_UPSTREAM - registers exp upstream uAPI support
- NEO_ENABLE_XE_PRELIM_DETECTION - registers prelim uAPI support
This way we can support two different xe-eudebug interfaces within
single binary.
In unit tests there is mock eudebug interface enabled (even if no
eudebug support is enabled by cmake flag).
Related-To: NEO-13472
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
In TBX mode, the host could not write to host buffers after access from device
code due to the lack of a migration mechanism post-initial TBX upload.
Migration is unnecessary with real hardware, but required for TBX.
This patch introduces a new page fault manager type that extends the original
CPU fault manager, enabling automatic migration of host buffers in TBX mode.
Refactoring was necessary to avoid diamond inheritance, achieved by using a
template parameter as the base class for OS-specific fault managers.
Related-To: NEO-12268
Signed-off-by: Jack Myers <jack.myers@intel.com>
Explicitly delete unused functions of CheckIfExitCalled
and VfManagementHandleContext. Comply with the rule of five.
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
Related-To: NEO-13340
When regular copy CSR has enabled direct submission,
stop it before migration on internal CSR.
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
- move available device calculcation into common helper
- change interface to have code available where no descriptor is available
- expand unit test for implementation of new inteface
Related-To: NEO-13350
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
- split the allocation code from command list or kernel
- allow to call allocation code in all parts of the driver
Related-To: NEO-13350
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
Performs minor renaming (mostly capitalization) in order to align with
specification.
Renames L1_CACHE_POLICY to L1_CACHE_CONTROL.
Related-To: NEO-13147
Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
This modification serves to simplify the integration of generated
compute walker structures.
Related-To: NEO-13147
Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
Related-To: NEO-13340
When regular copy CSR has enabled direct submission,
stop it before migration on internal CSR.
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
- change additional size into local region size
- change walk order into dispatch walk order to distinguish for local id walk
Related-To: NEO-13350
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
When debug flag ForceZeroCopyForUseHostPtr is set, add
CL_MEM_FORCE_HOST_MEMORY_INTEL flag to buffers created with
CL_MEM_USE_HOST_PTR.
This makes the buffers use zero copy.
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
- move compute dispatch all walker into dedicated encoder
- group same implementations into single file
Related-To: NEO-12639
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
- change method name to more meaningful
- add all inputs of the algorithm as explicit function arguments
- position all implementations accordingly
- rename unit test names to fit new method name
- fix unit test to have correct initial command values
- fix unit test to have consistent input values with command values
- fix unit test to change input values together with command values
Related-To: NEO-12639
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
Request higher resolution for windows periodic timers for ulls
controller sleep.
Allows for controller thread to sleep with granularity of 1ms.
Related-To: NEO-10800
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>