Gráfico de commits

28 Commits

Autor SHA1 Mensaje Fecha
Patel, Jaydeepkumar b5c9cbc236 SWDEV-508632 - Align address to 2 MBs for hidden heap allocation. (#29) 2025-04-02 16:33:29 +05:30
Jimbo Xie 6c755a4116 SWDEV-485672 - LOG_INFO corrected to LOG_ERROR for errors
Change-Id: I8ab5f2117dfd7725bd4ed8b178e370096aa31018
2024-12-04 01:18:01 -05:00
Aidan Belton-Schure f0063ba8da SWDEV-485827 release hostcall listener memory regardless of thread status
The early return if the thread is not alive causes memory leaks.
Neither doorbell_ or urilocator are released if the thread is not alive.

This change alters the logic so regardless of the thread status the
HostcallListener releases its memory.

Change-Id: Ie912360ec0e2ee257de9937b1a8d7375e6aebd83
2024-12-02 04:42:56 -05:00
Jaydeep Patel 3f3f3d0f1c SWDEV-498816 - Detached thread might exit and pthread_t is invalid access to check if it is valid or not.
Hence, It is not required to check it if thread is already finished processing packets.

Change-Id: If1b43a169a06203f3e1ab0529cf592879496d7c4
2024-11-24 01:38:47 -05:00
taosang2 544c45364f SWDEV-467540 - Fix reference of freed locks
1.Move global amd::monitor listenerLock before global
class runtime_tear_down as it will be referenced in
~RuntimeTearDown() after main(). It should be freed
later than runtime_tear_down.

2.Update  Device::~Device() to SVM free coopHostcallBuffer_
before context_ is released and freed.

Change-Id: I1d21378ff463477d3238d71e5e2a1a7d6b9147ad
2024-06-18 13:58:36 -04:00
Ioannis Assiouras b8c2ac4de4 SWDEV-463865 - symbol renamings to prevent conflicts in static build
Change-Id: Id7fbb638c1088c23df52fee877cd790d637b1ffb
2024-06-06 04:05:55 -04:00
Brian Sumner 4f7830c998 Include pointer value in error message
Change-Id: I4bb3281f73de89a9ad0541d88061b995cb919731
2024-05-28 06:31:10 +00:00
Jaydeep Patel 8942939fac SWDEV-455346 - End wait if HostcallListener terminates.
Change-Id: I21ec8eadb189147c579ec65acf68de40d604686b
2024-04-18 00:04:00 -04:00
German Andryeyev 62559a6e5a SWDEV-440746 - Fix the hostcall buffer creation
Avoid a deadlock on the host call buffer creation. Since the buffer will be
allocated in the queue thread, then use direct device memory allocation
skipping the global context lock.

Change-Id: I09b55ee03bb42ab5d320c152b52a8c842c5fdcc1
2024-04-17 12:37:23 -04:00
Jaydeep Patel 4761ecbb15 SWDEV-450636 - Hostcall Listen thread cause seg fault due to main thread is being destroied by app/test's unload libamdhip64.so call.
Change-Id: I8d4a8d8b6801d9f6eb745c45adf831597def0cb5
2024-03-27 00:10:55 -04:00
kjayapra-amd 297223a763 SWDEV-378648 - Adding checks in runtime to abort when bad/invalid payload is sent.
Change-Id: Ibaa7927bacef1ba067ded5ccbf3f1111f31200a2
2023-02-06 10:37:29 -05:00
kjayapra-amd b968394b4e SWDEV-378006 - Adding a new guarantee macro to support printing args.
Change-Id: I9c838644e31a84d96a44b2bd10525a08d805a047
2023-01-21 06:26:50 -05:00
Rakesh Roy 42da508815 SWDEV-330455 - Avoid creating different HSA signals for ROCr
- In ROCr, there is supposed to be exactly one HSA signal ever whose pointer is stored in every hostcall buffer so that device code can find it
- But, hostcallListener->initDevice creates a new HSA signal everytime enableHostcalls() gets called

Change-Id: I100595ec37442bcdb73da5991062f0a474de2935
2022-06-17 05:30:57 -04:00
Saleel Kudchadker 9292abb2d8 SWDEV-328349 - Rate limit hostcall listener
Update timeout for hostcall wait for signal. If the timeout is small it
checks frequent enough to affect performance for certain applications
which may be CPU bound.

Change-Id: I0a879559e4ad111b09a994a5b82a6faf6e4fea3f
2022-03-23 12:18:00 -04:00
sdashmiz 6e506da36d SWDEV-307107 - HipPrintf failure for XGMI on windows
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Iab2740364bb673029f0a80b419d80d5b726b9082
2022-03-17 10:03:56 -04:00
German Andryeyev 9a9d10a10b SWDEV-296301 - Avoid deadlocks in the hostcall path
Change the scope of hostcall buffer access lock during destruction.
Make sure wait() returns the signal value after timeout. That
matches ROCr behaviour for HSA signal wait.

Change-Id: I3df34207e0c2e21972ec8052777e5742bda1dca0
2021-10-04 15:00:44 -04:00
Jason Tang 73967c3b17 SWDEV-1 - Some 'delete' clean up
Change-Id: I02564f0f0e349375bde1471e9f82df268703367b
2021-09-09 12:12:40 -04:00
Vladislav Sytchenko 4171e9e0a3 SWDEV-283981 - [PAL] Support hostcall SQ interrupt
Note that this requires base driver CL#2340320+ to have SQ interrupt
functionality enabled by default.

Change-Id: I04b936819ebe1eb7cf5de1db4fafe83af3a1b5f6
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 6566361144 SWDEV-283981 - Revert "SWDEV-283981 - [PAL] Support hostcall SQ interrupt"
This reverts commit 9df70fa03ce60d47247eb0e8f278e1f8dbd33d6e.

Reason for revert: need SWDEV-294782 to be resolved before we can enable SQ interrupt support.

Change-Id: I328170b60f1a3aab28c0b1fd3191297a1a51ecb7
2021-08-22 23:56:08 -07:00
Vladislav Sytchenko 4589343c3e SWDEV-283981 - [PAL] Support hostcall SQ interrupt
Change-Id: Ic6f0ad384404712d5eeb1eaf600e231a8f8631f7
2021-08-22 23:56:08 -07:00
agunashe d96481fb36 SWDEV-293742 - Update copyright end year VDI repo
Change-Id: I69d2fea4a7a43adf96ccea794270e4af991c5261
2021-08-22 23:56:07 -07:00
pvellien c11c02f2c7 SWDEV-285333 - Introduce Address sanitizer hostcall service
Change-Id: Id29aacd09d0a9934a027446c57c7095804e1a454
2021-08-22 23:56:07 -07:00
Brian Sumner c44c866cf6 SWDEV-285332 - add hostcall service to allocate and deallocate device...
Change-Id: Ia63c1d9bc65367837a5161c09d274c51aead8f8d
2021-05-11 07:30:37 -07:00
Vladislav Sytchenko 07702bb28f SWDEV-232428 - Fix CI regressions caused by 99e8ac5
Change-Id: I6523a8abc19dc5b01f7eacb3a949da01afae60d5
2021-03-09 13:50:13 -05:00
Vladislav Sytchenko 27e3b875f7 SWDEV-232428 - Fix CI regressions caused by 99e8ac5
Change-Id: I36e9ce964f4d7733450eee356d425d23e1d7ff2c
2021-03-09 11:09:55 -05:00
Vladislav Sytchenko 99e8ac55cd SWDEV-232428 - PAL Hostcall support
Since the majority of the Hostcall implementation now sits in the
commmon layer, the PAL backend simply just needs to invoke it. One thing
that is missing though is HSA signal support.

The newly added pal::Signal class is a light emulaion of what HSA
signals provide. The current implementation is just enough to get
Hostcall working, but it can be expanded in the future if needed to
fully emulate HSA signals.

The major difference for now between PAL and ROCm hostcall
implemenations is that PAL doesn't support blocking signals. This will
be enabled in the near future. For now use active wait for PAL.

Change-Id: I746557354ab9d71a7d4a31f9320fcc2fee5aee7f
2021-03-09 10:44:34 -05:00
Vladislav Sytchenko 8c4cf8c1b0 SWDEV-232428 - Fix typo from 738fd1d
Change-Id: Iec1f07e04ca3ae8ad72d38034bc136b59eb89dfe
2021-03-02 12:34:38 -05:00
Vladislav Sytchenko 671778bdd3 SWDEV-232428 - Push hostcall implementation to the device layer
This change unifies the hostcall implementation for all the backends,
by pushing the common logic to the device layer. This is done by
replacing the use of hsa_signal_t with device::Signal (a light wrapper
around it).

Change-Id: I7b6fca7930b5a0b199da5d85e2e048354cc04e7b
2021-02-16 17:19:57 -05:00