Skip to content

Commit b5ffad2

Browse files
Revert "Check if direct submission available once"
This reverts commit 70a7840. Signed-off-by: Lukasz Jobczyk <[email protected]>
1 parent 418a885 commit b5ffad2

File tree

5 files changed

+14
-49
lines changed

5 files changed

+14
-49
lines changed

opencl/test/unit_test/os_interface/linux/drm_command_stream_tests_1.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
#include "shared/test/common/mocks/mock_gmm.h"
3131
#include "shared/test/common/mocks/mock_gmm_page_table_mngr.h"
3232
#include "shared/test/common/mocks/mock_host_ptr_manager.h"
33-
#include "shared/test/common/mocks/mock_os_context.h"
3433
#include "shared/test/common/mocks/mock_submissions_aggregator.h"
3534
#include "shared/test/common/test_macros/test.h"
3635

@@ -726,7 +725,6 @@ struct DrmCommandStreamDirectSubmissionTest : public DrmCommandStreamEnhancedTes
726725
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
727726
auto engineType = device->getDefaultEngine().osContext->getEngineType();
728727
hwInfo->capabilityTable.directSubmissionEngines.data[engineType].engineSupported = true;
729-
static_cast<MockOsContext *>(device->getDefaultEngine().osContext)->directSubmissionAvailableChecked = false;
730728
csr->initDirectSubmission(*device.get(), *device->getDefaultEngine().osContext);
731729
}
732730

shared/source/os_interface/os_context.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ bool OsContext::isDirectSubmissionAvailable(const HardwareInfo &hwInfo, bool &su
6666
enableDirectSubmission = DebugManager.flags.EnableDirectSubmission.get();
6767
}
6868

69-
if (enableDirectSubmission && !directSubmissionAvailableChecked) {
69+
if (enableDirectSubmission) {
7070
auto contextEngineType = this->getEngineType();
7171
const DirectSubmissionProperties &directSubmissionProperty =
7272
hwInfo.capabilityTable.directSubmissionEngines.data[contextEngineType];
@@ -95,10 +95,9 @@ bool OsContext::isDirectSubmissionAvailable(const HardwareInfo &hwInfo, bool &su
9595
this->setDirectSubmissionActive();
9696
}
9797

98-
this->directSubmissionAvailableChecked = true;
98+
return engineSupported && startDirect;
9999
}
100-
101-
return this->directSubmissionActive;
100+
return false;
102101
}
103102

104103
bool OsContext::checkDirectSubmissionSupportsEngine(const DirectSubmissionProperties &directSubmissionProperty, aub_stream::EngineType contextEngineType, bool &startOnInit, bool &startInContext) {

shared/source/os_interface/os_context.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ class OsContext : public ReferenceTrackedObject<OsContext> {
6767
const bool rootDevice = false;
6868
bool defaultContext = false;
6969
bool directSubmissionActive = false;
70-
bool directSubmissionAvailableChecked = false;
7170
std::once_flag contextInitializedFlag = {};
7271
bool contextInitialized = false;
7372
bool engineInstancedDevice = false;

shared/test/common/mocks/mock_os_context.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ namespace NEO {
1212
class MockOsContext : public OsContext {
1313
public:
1414
using OsContext::checkDirectSubmissionSupportsEngine;
15-
using OsContext::directSubmissionActive;
16-
using OsContext::directSubmissionAvailableChecked;
1715
using OsContext::engineType;
1816
using OsContext::engineUsage;
1917
using OsContext::getDeviceBitfield;

shared/test/unit_test/command_stream/command_stream_receiver_tests.cpp

Lines changed: 11 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
#include "shared/test/common/mocks/mock_csr.h"
2323
#include "shared/test/common/mocks/mock_execution_environment.h"
2424
#include "shared/test/common/mocks/mock_memory_manager.h"
25-
#include "shared/test/common/mocks/mock_os_context.h"
2625
#include "shared/test/common/mocks/ult_device_factory.h"
2726
#include "shared/test/common/test_macros/matchers.h"
2827
#include "shared/test/common/test_macros/test.h"
@@ -392,7 +391,6 @@ HWTEST_F(CommandStreamReceiverTest, givenUpdateTaskCountFromWaitWhenCheckTaskCou
392391
struct InitDirectSubmissionFixture {
393392
void SetUp() {
394393
DebugManager.flags.EnableDirectSubmission.set(1);
395-
DebugManager.flags.EnableGemCloseWorker.set(0);
396394
executionEnvironment = new MockExecutionEnvironment();
397395
DeviceFactory::prepareDeviceEnvironments(*executionEnvironment);
398396
VariableBackup<UltHwConfig> backup(&ultHwConfig);
@@ -425,7 +423,6 @@ HWTEST_F(InitDirectSubmissionTest, givenDirectSubmissionControllerEnabledWhenIni
425423

426424
osContext->ensureContextInitialized();
427425
osContext->setDefaultContext(true);
428-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
429426
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
430427
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
431428
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
@@ -453,7 +450,6 @@ HWTEST_F(InitDirectSubmissionTest, givenDirectSubmissionControllerDisabledWhenIn
453450

454451
osContext->ensureContextInitialized();
455452
osContext->setDefaultContext(true);
456-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
457453
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
458454
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
459455
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
@@ -473,7 +469,6 @@ HWTEST_F(InitDirectSubmissionTest, whenDirectSubmissionEnabledOnRcsThenExpectFea
473469
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
474470
osContext->ensureContextInitialized();
475471
osContext->setDefaultContext(true);
476-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
477472
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
478473
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
479474
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
@@ -486,26 +481,6 @@ HWTEST_F(InitDirectSubmissionTest, whenDirectSubmissionEnabledOnRcsThenExpectFea
486481
csr.reset();
487482
}
488483

489-
HWTEST_F(InitDirectSubmissionTest, givenCheckIfDirectSubmissionEnableWhenCallItMultipleTimesThenCheckDirectSubmissionEnablingConditionsOnce) {
490-
std::unique_ptr<OsContext> osContext(OsContext::create(device->getExecutionEnvironment()->rootDeviceEnvironments[0]->osInterface.get(), 0,
491-
EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::Regular},
492-
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
493-
osContext->ensureContextInitialized();
494-
osContext->setDefaultContext(true);
495-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
496-
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
497-
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
498-
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
499-
bool submitOnInit = false;
500-
501-
auto ret = osContext->isDirectSubmissionAvailable(*hwInfo, submitOnInit);
502-
EXPECT_TRUE(ret);
503-
504-
static_cast<MockOsContext *>(osContext.get())->directSubmissionActive = false;
505-
ret = osContext->isDirectSubmissionAvailable(*hwInfo, submitOnInit);
506-
EXPECT_FALSE(ret);
507-
}
508-
509484
template <class Type>
510485
class CommandStreamReceiverHwDirectSubmissionMock : public CommandStreamReceiverHw<Type> {
511486
public:
@@ -526,7 +501,6 @@ HWTEST_F(InitDirectSubmissionTest, whenCallInitDirectSubmissionAgainThenItIsNotR
526501
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
527502
osContext->ensureContextInitialized();
528503
osContext->setDefaultContext(true);
529-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
530504
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
531505
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
532506
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
@@ -553,7 +527,6 @@ HWTEST_F(InitDirectSubmissionTest, whenCallInitDirectSubmissionThenObtainLock) {
553527
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
554528
osContext->ensureContextInitialized();
555529
osContext->setDefaultContext(true);
556-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
557530
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
558531
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
559532
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
@@ -569,8 +542,6 @@ HWTEST_F(InitDirectSubmissionTest, givenDirectSubmissionEnabledWhenPlatformNotSu
569542
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
570543
osContext->ensureContextInitialized();
571544
osContext->setDefaultContext(true);
572-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
573-
static_cast<MockOsContext *>(osContext.get())->directSubmissionActive = false;
574545
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
575546
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = false;
576547
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].submitOnInit = false;
@@ -589,7 +560,7 @@ HWTEST_F(InitDirectSubmissionTest, whenDirectSubmissionEnabledOnBcsThenExpectFea
589560
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
590561
osContext->ensureContextInitialized();
591562
osContext->setDefaultContext(true);
592-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
563+
593564
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
594565
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].engineSupported = true;
595566
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].submitOnInit = false;
@@ -609,7 +580,7 @@ HWTEST_F(InitDirectSubmissionTest, givenDirectSubmissionEnabledWhenPlatformNotSu
609580
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
610581
osContext->ensureContextInitialized();
611582
osContext->setDefaultContext(true);
612-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
583+
613584
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
614585
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].engineSupported = false;
615586
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].submitOnInit = false;
@@ -629,7 +600,7 @@ HWTEST_F(InitDirectSubmissionTest, givenLowPriorityContextWhenDirectSubmissionDi
629600
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
630601
osContext->ensureContextInitialized();
631602
osContext->setDefaultContext(true);
632-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
603+
633604
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
634605
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
635606
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useLowPriority = false;
@@ -648,7 +619,7 @@ HWTEST_F(InitDirectSubmissionTest, givenLowPriorityContextWhenDirectSubmissionEn
648619
EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::LowPriority},
649620
PreemptionMode::ThreadGroup, device->getDeviceBitfield())));
650621
osContext->ensureContextInitialized();
651-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
622+
652623
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
653624
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
654625
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useLowPriority = true;
@@ -667,7 +638,7 @@ HWTEST_F(InitDirectSubmissionTest, givenInternalContextWhenDirectSubmissionDisab
667638
device->getDeviceBitfield())));
668639
osContext->ensureContextInitialized();
669640
osContext->setDefaultContext(true);
670-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
641+
671642
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
672643
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
673644
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useInternal = false;
@@ -686,7 +657,7 @@ HWTEST_F(InitDirectSubmissionTest, givenInternalContextWhenDirectSubmissionEnabl
686657
EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::Internal}, PreemptionMode::ThreadGroup,
687658
device->getDeviceBitfield())));
688659
osContext->ensureContextInitialized();
689-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
660+
690661
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
691662
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
692663
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useInternal = true;
@@ -706,7 +677,7 @@ HWTEST_F(InitDirectSubmissionTest, givenRootDeviceContextWhenDirectSubmissionDis
706677
device->getDeviceBitfield(), true)));
707678
osContext->ensureContextInitialized();
708679
osContext->setDefaultContext(true);
709-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
680+
710681
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
711682
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
712683
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useRootDevice = false;
@@ -725,7 +696,7 @@ HWTEST_F(InitDirectSubmissionTest, givenRootDeviceContextWhenDirectSubmissionEna
725696
EngineDescriptorHelper::getDefaultDescriptor({aub_stream::ENGINE_RCS, EngineUsage::Internal}, PreemptionMode::ThreadGroup,
726697
device->getDeviceBitfield(), true)));
727698
osContext->ensureContextInitialized();
728-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
699+
729700
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
730701
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
731702
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useRootDevice = true;
@@ -745,7 +716,7 @@ HWTEST_F(InitDirectSubmissionTest, givenNonDefaultContextWhenDirectSubmissionDis
745716
device->getDeviceBitfield())));
746717
osContext->ensureContextInitialized();
747718
osContext->setDefaultContext(false);
748-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
719+
749720
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
750721
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
751722
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useNonDefault = false;
@@ -765,7 +736,7 @@ HWTEST_F(InitDirectSubmissionTest, givenNonDefaultContextContextWhenDirectSubmis
765736
device->getDeviceBitfield())));
766737
osContext->ensureContextInitialized();
767738
osContext->setDefaultContext(false);
768-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
739+
769740
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
770741
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].engineSupported = true;
771742
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_RCS].useNonDefault = true;
@@ -788,7 +759,7 @@ HWTEST_F(InitDirectSubmissionTest, GivenBlitterOverrideEnabledWhenBlitterIsNonDe
788759
device->getDeviceBitfield())));
789760
osContext->ensureContextInitialized();
790761
osContext->setDefaultContext(false);
791-
static_cast<MockOsContext *>(osContext.get())->directSubmissionAvailableChecked = false;
762+
792763
auto hwInfo = device->getRootDeviceEnvironment().getMutableHardwareInfo();
793764
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].engineSupported = false;
794765
hwInfo->capabilityTable.directSubmissionEngines.data[aub_stream::ENGINE_BCS].useNonDefault = false;

0 commit comments

Comments
 (0)