kfdtest: Add event-based synchronization mechanism to queues
Wait4PacketConsumption now can accept an event to wait all packets subbmitted to be processed. Change-Id: I1497b7704e892b04d05811b8d3e4742237c1be57 Signed-off-by: xinhui pan <xinhui.pan@amd.com>
Этот коммит содержится в:
коммит произвёл
Xinhui Pan
родитель
a9bd6e6f8b
Коммит
9c7cfc0df2
@@ -22,6 +22,7 @@
|
||||
*/
|
||||
|
||||
#include "SDMAQueue.hpp"
|
||||
#include "SDMAPacket.hpp"
|
||||
|
||||
SDMAQueue::SDMAQueue(void) {
|
||||
CMD_NOP = 0;
|
||||
@@ -79,3 +80,14 @@ void SDMAQueue::SubmitPacket() {
|
||||
}
|
||||
}
|
||||
|
||||
void SDMAQueue::Wait4PacketConsumption(HsaEvent *event) {
|
||||
if (event) {
|
||||
PlacePacket(SDMAFencePacket((void*)event->EventData.HWData2, event->EventId));
|
||||
|
||||
PlaceAndSubmitPacket(SDMATrapPacket(event->EventId));
|
||||
|
||||
EXPECT_SUCCESS(hsaKmtWaitOnEvent(event, g_TestTimeOut));
|
||||
} else {
|
||||
BaseQueue::Wait4PacketConsumption();
|
||||
}
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user