During event synchronize in commandlist, now the printf buffer
should get flushed out when host synchronize is called.
Related-To: LOCI-3681
Signed-off-by: Zhang, Winston <winston.zhang@intel.com>
Related-To: LOCI-3860
- Fixed IPC Event pools that are allocated for a single device such that
when opened thru IPC only that device handle can be used by the process
which opened the IPC event pool.
- IPC Event handle includes numDevices as a field to determine if the
root device index is the only index allowed for this event pool.
Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
During event synchronize in commandlist, now the printf buffer
should get flushed out when host synchronize is called.
Related-To: LOCI-3681
Signed-off-by: Zhang, Winston <winston.zhang@intel.com>
1. Reposition event pool code
- Implementation of event pool methods should be placed in event pool file
2. Change event pool and event classes
- move all class variables to base classes as protected
- add needed setters and getters for runtime
- add extended mocks and whiteboxes for unit tests
- tests using base or mock class when needed
3. Correct event creation in unit tests
- use HW specific timestamp type
- HW unit tests are using template timestamp type for event creation
- other tests are using helper to create event
Related-To: NEO-7636
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
Remote event pool is created with device list that configure max event packet
IPC context can have different device list and configure different
max event packet.
When these two numbers are different driver should not allow creation of
IPC event pool.
Related-To: NEO-7636
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
- using predefined structure adds security to enforce data limit
- code is simplified and easier to maintain or add new data fields
Related-To: NEO-7636
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
- Given Device Allocated IPC Event Pool, the open IPC event pool process
must allocate the event pool as a device buffer or usage of the memory
will fail.
- Pass deviceAlloc flag thru the IPC Event Pool Handle to enable the
child processes to allocate the correct memory type.
- Pass isHostVisible flag thru IPCEvent Pool Handle to indicate if the
event pool must be allocated as host visible regardless of the
allocation type.
Related-To: LOCI-3764
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
- Given Device Allocated IPC Event Pool, the open IPC event pool process
must allocate the event pool as a device buffer or usage of the memory
will fail.
- Pass deviceAlloc flag thru the IPC Event Pool Handle to enable the
child processes to allocate the correct memory type.
- Pass isHostVisible flag thru IPCEvent Pool Handle to indicate if the
event pool must be allocated as host visible regardless of the
allocation type.
Related-To: LOCI-3764
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
This fix unifies setting event properties in event pool, so they are shared
betweem all event pool devices.
Related-To: NEO-7490
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
- Given Device Allocated IPC Event Pool, the open IPC event pool process
must allocate the event pool as a device buffer or usage of the memory
will fail.
- Pass deviceAlloc flag thru the IPC Event Pool Handle to enable the
child processes to allocate the correct memory type.
Related-To: LOCI-3764
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
Observed about 50MB reduction in overall binaries size (directory build))
when building all targets
with MSVC (Visual Studio 2022 17.3.0 preview 6)
using Debug 64 configuration.
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Currently Event::csr is set during
initialization and never changes.
This PR is to associate Event::csr with the one
that was used to dispatch task in cmdlist
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
Related-To: NEO-7237
If size is small enough, it is more efficient to
perform copy through locked ptr on CPU.
This change also introduces experimental flag to
enable this.
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
- Properly check for IPC event handle flag to determine if the event
pool memory is sharable between processes.
- Given Host Visible Event Pool, a check is done to determine if the
Host memory can be shared between the processes.
- Enabled handling if Event Host Memory is shareable for DRM
- If Event Pool Memory is Not shareable, then retrieving the IPC Event
Pool Handle returns unsupported.
Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
Define single .clang-tidy configuration with all used checks and use
NOLINT to selectively silence tool. That way cleanup should be easier.
third_part/ has its own configuration that disables clang-tidy for this
folder.
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>