Commit Graph

138 Commits

Author SHA1 Message Date
Warchulski, Jaroslaw
4100e1aa72 Cleanup includes 7
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-28 17:01:48 +01:00
Igor Venevtsev
271a50d48e L0Debug Win: Fix process hang on exit in L0 debugger tests
Some L0 debug CTSs intentionnally written to exit w/o proper
resource clenup, f.e do not call zetDebugDetach() etc.
On windows it could be the situation when cleanup of DebugSession is
called in context of DllMain(DLL_PROCESS_DETACH).
At this point all threads other then main already terminated by Windows,
see remarks for DLL_PROCESS_DETACH in
https://learn.microsoft.com/en-us/windows/win32/dlls/dllmain
In this case worker thread object still exists, handle and Id are not
null but corresponding Windows thread does not exist any more and
application waits forever for threadFinished variable. We can safely
omit this waiting since join() will either return immediately in case of
thread was killed by Windows or wait until thread is terminated in normal way.

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-11-18 17:34:11 +01:00
Mateusz Hoppe
5c23d05312 L0Debug - add support for blocking VM BIND on fence
Related-To: NEO-7454

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-11-18 12:00:23 +01:00
Mateusz Hoppe
e0370d25b9 L0Debug - Fix scratch offset calculation
- euRatio should only affect EUs offsets - not thread offsets

Resolves: NEO-7520

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-11-18 09:52:07 +01:00
Yates, Brandon
c95d40ccdd L0 debug- Windows - Add gpuVA to log for r/w gfx mem
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-11-17 19:08:50 +01:00
Kamil Kopryk
88ed486f6b Move L0HwHelper ownership to RootDeviceEnvironment 3/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Use RootDeviceEnvironment getHelper<L0CoreHelper> for
- getAttentionBitmaskForSingleThreads
- getThreadsFromAttentionBitmask
2022-11-15 17:30:15 +01:00
Kamil Kopryk
aaa4e90ad4 Move L0HwHelper ownership to RootDeviceEnvironment 1/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Use RootDeviceEnvironment getHelper<L0CoreHelper> for
- setAdditionalGroupProperty
- createEvent
- isResumeWARequired
2022-11-15 08:24:23 +01:00
Mateusz Hoppe
5206fd1b9a L0Debug - interrupt stopped events for newly stopped threads
- do not mark interrupt as complete when thread was stopped
before handling ATT event
- if no newly stopped threads reported in ATT event, interrupt
trigger thread unavailable event

Related-To: NEO-7501

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-11-10 15:25:24 +01:00
Yates, Brandon
99ef6c499b L0 debug - fix windows bitmask decode
Keep threads created in EU range (0,7)

Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-11-07 14:41:29 +01:00
Igor Venevtsev
f47e1306f2 L0Debug: do not set acknowledge flag for MODULE_UNLOAD event
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-11-07 14:01:29 +01:00
Mateusz Hoppe
6f710bfad7 L0Debug - disallow attaching to multiple pids
Resolves: NEO-7476

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-11-03 19:21:53 +01:00
Matias Cabral
8d8f821b6c Optimize SLM ULTs execution time
Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2022-11-03 11:12:13 +01:00
Matias Cabral
0772d32a76 Windows debugger access to SLM
Resolves: NEO-7382

Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2022-11-02 10:58:09 +01:00
Compute-Runtime-Validation
d653779098 Revert "L0 debug - Fix thread creation for windows DSS"
This reverts commit 3724807eed.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-10-22 14:38:24 +02:00
Artur Harasimiuk
9ad3f6190f do not sleep in ULTs
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-10-21 19:37:52 +02:00
Yates, Brandon
3724807eed L0 debug - Fix thread creation for windows DSS
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-10-21 18:47:49 +02:00
Matias Cabral
b103b0c43f Reduce the SLM time waiting on ready CMD to 100 uSec
Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2022-10-21 12:50:58 +02:00
Warchulski, Jaroslaw
90bc1a69d2 L0Debug - wait for the thread to start
Related-To: NEO-7322
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-10-20 10:44:16 +02:00
Yates, Brandon
789a53e8f8 L0 Debug - Don't pollute debug log with event timeouts
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-10-19 17:26:31 +02:00
Matias Cabral
4affe9907c Update SLM access offset behavior
Related-To: NEO-5998

Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2022-10-17 18:07:27 +02:00
Mateusz Hoppe
95505d87a5 L0Debug - fix interrupt
- pass deviceIndex based on deviceBitfield
- do not call ioctl again on EBUSY error

Resolves: NEO-7414

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-10-14 13:56:57 +02:00
Yates, Brandon
44894c1fdf L0 Debug- Create generic topologyMap interface
Move Linux DebugSession thread conversion functions up to
DebugSessionImp to allow reuse in windows implementation

Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-10-13 15:12:05 +02:00
Matias Cabral
56109b882f Support debugger SLM write
Resolves: NEO-5998

Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2022-10-11 16:37:14 +02:00
Igor Venevtsev
5a0dd8048b L0Debug Win: fix bitmap reading for EU_ATTN_BIT_SET event
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-10-06 15:41:14 +02:00
Mateusz Hoppe
e9a7c990ef L0Debug - log deviceBitfield for ISA event
- enhancement to logging

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-10-05 11:44:44 +02:00
Igor Venevtsev
66f5af0fec L0Debug: simple code cleanup
Use dedicated readSystemRoutineIdent() instead of raw readGpuMemory()

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-10-04 13:45:18 +02:00
Mateusz Hoppe
fddd1976c1 L0Debug - close connection when releasing Device resources
- when debugDetach() is not called properly, close connection
in debug session before Device is destroyed

Related-To: NEO-7366

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-10-04 13:10:12 +02:00
Mateusz Hoppe
ec4d0dd0a6 L0Debug - ignore unknown VM BIND events - do not push to pending
Related-To: NEO-7366

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-30 13:31:30 +02:00
Matias Cabral
c012034c19 Debugger access to SLM
Resolves: NEO-5998

Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2022-09-30 11:31:19 +02:00
Mateusz Hoppe
6811b1079f L0Debug - support for out of order debug events
Related-To: NEO-7366
- if VM BIND comes with VM that cannot be mapped to tile,
push the event to pending events and process next events
until context params event with comes
- when pending event is handled - remove it from queue

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-30 11:26:24 +02:00
Mateusz Hoppe
7e2e940d6e L0Debug - zebin modules support for mirrored isa heaps
- all tileInstanced ISAs must be received before sending
MODULE LOAD/UNLOAD events for zebin modules

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-28 10:53:51 +02:00
Mateusz Hoppe
7ff258fc92 L0Debug - Enable attaching to Root or Subdevices
- enable tile attach mode by default
- both root device and subdevice may be attached to

Related-To: NEO-7347

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-26 16:03:54 +02:00
Mateusz Hoppe
92893a5101 L0Debug - add support for mirrored isa heaps
- allow tileInstanced ISA while debugging

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-20 19:32:00 +02:00
Mateusz Hoppe
dd7967a05d L0Debug - account for device bitfield
- converting physical/api thread ids should account for
devicebitfield
- debug events for ISA filtered - skip events for not
relevant tiles

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-09 13:03:06 +02:00
Mateusz Hoppe
eb0273d6ff L0Debug - add debug message when ZE_AFFINITY_MASK is used
Related-To: NEO-6980

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-09 00:33:37 +02:00
Yates, Brandon
12c7f32679 L0 Win Debugger - implement thread control
Resolves: NEO-6722

Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-09-05 19:26:14 +02:00
Mateusz Hoppe
992e8e7c96 L0Debug - fix getISAVMHandle()
- use correct address form when searching Isa map

Resolves: NEO-7312

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-05 16:10:13 +02:00
Jitendra Sharma
3212a71760 Debugger L0 Win: Attention event handling from UMD
Related-To: NEO-7261

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2022-09-02 18:22:41 +02:00
Mateusz Hoppe
ee8af85341 L0Debug fixes for multi tile devices
- notify module allocation for (sub)device used to create module,
makeResident called within (sub)device contexts
- access ISA with vmHandle specific to device index

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-31 10:58:28 +02:00
Mateusz Hoppe
e6c0d2d1e8 L0Debug - store and restore events for tile session
- keep track of all loaded modules
- keep track of process entry/exit state
- restore valid events on attach
- acknowledge/clean events on detach

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-29 15:35:38 +02:00
Igor Venevtsev
d40173e47a L0Debug Win: Always generate module create/destroy events
We have to always generate module create/destroy events to give
debugger a chance to insert bp, read/write debuggee memory  etc
even there is no debug data was generated. In this case ELF will not be
reported to debugger, just ISA GpuVA

Related-To: NEO-6723

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-08-24 14:58:30 +02:00
Mateusz Hoppe
aa59ee94b2 L0Debug - close debug fd when DebugSession is destroyed
- after last tile DebugSession is detached, root DebugSession
must close fd

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-24 14:58:16 +02:00
Mateusz Hoppe
4bd53be195 L0Debug - tile attach - add missing implementation
- interrupt / resume
- read/write registers

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-24 07:32:29 +02:00
Mateusz Hoppe
61242205e0 L0Debug - tile attach implementation
- PROCESS ENTRY/EXIT events
- MODULE events
- DETACH event
- memory access

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-18 13:38:51 +02:00
Mateusz Hoppe
2a5bca380d L0Debug - tile debug session - initial changes
Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-16 10:44:12 +02:00
Yates, Brandon
dbf955c1f2 L0 win debugger - implement read elf
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-08-11 16:16:21 +02:00
Mateusz Hoppe
bc605f413c L0Debug - split acking general events from isa events
- allow to pass deviceIndex when acking isa events,
used with per-tile isa

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-11 13:11:55 +02:00
Mateusz Hoppe
3a2d3b9274 L0Debug refactor - move eventsToAck out from ClientConnection
- events to ack are unrelated to client handle

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-09 19:52:17 +02:00
Mateusz Hoppe
869768a01a L0Debug refactor - make memory access steps clear and simple
- split isa, elf and default mem access to separate steps

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-09 18:04:38 +02:00
Mateusz Hoppe
52133e61ce L0Debug - per tile isa and modules in debug session
Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-08 15:46:56 +02:00