Do not wait for completion in direct submission controller

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
Lukasz Jobczyk
2022-05-18 14:47:46 +00:00
committed by Compute-Runtime-Automation
parent d69bf76282
commit 888c935efb
3 changed files with 12 additions and 55 deletions

View File

@@ -29,8 +29,6 @@ TEST(DirectSubmissionControllerTests, givenDirectSubmissionControllerWhenRegiste
DeviceBitfield deviceBitfield(1);
MockCommandStreamReceiver csr(executionEnvironment, 0, deviceBitfield);
csr.initializeTagAllocation();
*csr.tagAddress = 0u;
csr.taskCount.store(5u);
DirectSubmissionControllerMock controller;
@@ -39,11 +37,6 @@ TEST(DirectSubmissionControllerTests, givenDirectSubmissionControllerWhenRegiste
controller.directSubmissionControllingThread.reset();
controller.registerDirectSubmission(&csr);
controller.checkNewSubmissions();
EXPECT_FALSE(controller.directSubmissions[&csr].isStopped);
EXPECT_EQ(controller.directSubmissions[&csr].taskCount, 0u);
*csr.tagAddress = 5u;
controller.checkNewSubmissions();
EXPECT_FALSE(controller.directSubmissions[&csr].isStopped);
EXPECT_EQ(controller.directSubmissions[&csr].taskCount, 5u);
@@ -51,11 +44,6 @@ TEST(DirectSubmissionControllerTests, givenDirectSubmissionControllerWhenRegiste
csr.taskCount.store(6u);
controller.checkNewSubmissions();
EXPECT_FALSE(controller.directSubmissions[&csr].isStopped);
EXPECT_EQ(controller.directSubmissions[&csr].taskCount, 5u);
*csr.tagAddress = 6u;
controller.checkNewSubmissions();
EXPECT_FALSE(controller.directSubmissions[&csr].isStopped);
EXPECT_EQ(controller.directSubmissions[&csr].taskCount, 6u);
controller.checkNewSubmissions();
@@ -69,36 +57,7 @@ TEST(DirectSubmissionControllerTests, givenDirectSubmissionControllerWhenRegiste
csr.taskCount.store(8u);
controller.checkNewSubmissions();
EXPECT_FALSE(controller.directSubmissions[&csr].isStopped);
EXPECT_EQ(controller.directSubmissions[&csr].taskCount, 6u);
controller.unregisterDirectSubmission(&csr);
}
TEST(DirectSubmissionControllerTests, givenDirectSubmissionWithMultiplePartitionsWhenCheckNewSubmissionThenCheckAllPartitions) {
MockExecutionEnvironment executionEnvironment;
executionEnvironment.prepareRootDeviceEnvironments(1);
executionEnvironment.initializeMemoryManager();
DeviceBitfield deviceBitfield(0b11);
MockCommandStreamReceiver csr(executionEnvironment, 0, deviceBitfield);
csr.postSyncWriteOffset = 32u;
csr.activePartitions = 2;
csr.initializeTagAllocation();
*csr.tagAddress = 5u;
auto nextPartitionTagAddress = ptrOffset(csr.tagAddress, csr.getPostSyncWriteOffset());
*nextPartitionTagAddress = 2u;
csr.taskCount.store(5u);
DirectSubmissionControllerMock controller;
controller.keepControlling.store(false);
controller.directSubmissionControllingThread->join();
controller.directSubmissionControllingThread.reset();
controller.registerDirectSubmission(&csr);
controller.checkNewSubmissions();
EXPECT_FALSE(controller.directSubmissions[&csr].isStopped);
EXPECT_EQ(controller.directSubmissions[&csr].taskCount, 0u);
EXPECT_EQ(controller.directSubmissions[&csr].taskCount, 8u);
controller.unregisterDirectSubmission(&csr);
}
@@ -119,6 +78,8 @@ TEST(DirectSubmissionControllerTests, givenDirectSubmissionControllerWhenTimeout
csr.startControllingDirectSubmissions();
controller.registerDirectSubmission(&csr);
while (controller.directSubmissions[&csr].taskCount != 9u) {
}
while (!controller.directSubmissions[&csr].isStopped) {
}