From 9bf2edcfbf1643e3545d89f71d3ad27da129b16b Mon Sep 17 00:00:00 2001 From: Compute-Runtime-Validation Date: Thu, 19 Jan 2023 18:56:16 +0100 Subject: [PATCH] Revert "Flush tag update on device init" This reverts commit 5f7541084d2bbca56b059262d71028294a0a65e2. Signed-off-by: Compute-Runtime-Validation --- .../unit_test/command_queue/blit_enqueue_1_tests.cpp | 11 ----------- opencl/test/unit_test/linux/main_linux_dll.cpp | 8 ++------ .../command_stream_receiver_hw_base.inl | 6 +++++- shared/source/device/device.cpp | 2 +- shared/source/device/device.h | 3 +-- shared/source/dll/device_dll.cpp | 4 ++-- shared/test/common/mocks/device_ult.cpp | 3 ++- 7 files changed, 13 insertions(+), 24 deletions(-) diff --git a/opencl/test/unit_test/command_queue/blit_enqueue_1_tests.cpp b/opencl/test/unit_test/command_queue/blit_enqueue_1_tests.cpp index 54c55b13b2..b20146b4c2 100644 --- a/opencl/test/unit_test/command_queue/blit_enqueue_1_tests.cpp +++ b/opencl/test/unit_test/command_queue/blit_enqueue_1_tests.cpp @@ -228,17 +228,6 @@ HWTEST_TEMPLATED_F(BlitAuxTranslationTests, whenFlushTagUpdateThenMiFlushDwIsFlu EXPECT_NE(cmdFound, cmdListBcs.end()); } -HWTEST_TEMPLATED_F(BlitAuxTranslationTests, whenInitializeDeviceWithFirstSubmissionThenMiFlushDwIsFlushed) { - using MI_FLUSH_DW = typename FamilyType::MI_FLUSH_DW; - - EXPECT_EQ(SubmissionStatus::SUCCESS, bcsCsr->initializeDeviceWithFirstSubmission()); - - auto cmdListBcs = getCmdList(bcsCsr->getCS(0), 0); - - auto cmdFound = expectCommand(cmdListBcs.begin(), cmdListBcs.end()); - EXPECT_NE(cmdFound, cmdListBcs.end()); -} - HWTEST_TEMPLATED_F(BlitAuxTranslationTests, whenFlushTagUpdateThenSetStallingCmdsFlag) { auto ultCsr = static_cast *>(bcsCsr); diff --git a/opencl/test/unit_test/linux/main_linux_dll.cpp b/opencl/test/unit_test/linux/main_linux_dll.cpp index ca7ddf81ef..265b96f63d 100644 --- a/opencl/test/unit_test/linux/main_linux_dll.cpp +++ b/opencl/test/unit_test/linux/main_linux_dll.cpp @@ -884,12 +884,8 @@ TEST(DeviceTest, whenCheckBlitSplitEnabledThenReturnsTrue) { EXPECT_TRUE(Device::isBlitSplitEnabled()); } -TEST(DeviceTest, givenCsrHwWhenCheckIsInitDeviceWithFirstSubmissionEnabledThenReturnsTrue) { - EXPECT_TRUE(Device::isInitDeviceWithFirstSubmissionEnabled(CommandStreamReceiverType::CSR_HW)); -} - -TEST(DeviceTest, givenCsrNonHwWhenCheckIsInitDeviceWithFirstSubmissionEnabledThenReturnsTrue) { - EXPECT_FALSE(Device::isInitDeviceWithFirstSubmissionEnabled(CommandStreamReceiverType::CSR_TBX)); +TEST(DeviceTest, whenCheckIsInitDeviceWithFirstSubmissionEnabledThenReturnsTrue) { + EXPECT_TRUE(Device::isInitDeviceWithFirstSubmissionEnabled()); } TEST(PlatformsDestructor, whenGlobalPlatformsDestructorIsCalledThenGlobalPlatformsAreDestroyed) { diff --git a/shared/source/command_stream/command_stream_receiver_hw_base.inl b/shared/source/command_stream/command_stream_receiver_hw_base.inl index daadc41c48..3b94de862c 100644 --- a/shared/source/command_stream/command_stream_receiver_hw_base.inl +++ b/shared/source/command_stream/command_stream_receiver_hw_base.inl @@ -1583,7 +1583,11 @@ void CommandStreamReceiverHw::createKernelArgsBufferAllocation() { template SubmissionStatus CommandStreamReceiverHw::initializeDeviceWithFirstSubmission() { - return flushTagUpdate(); + auto lock = obtainUniqueOwnership(); + + auto &commandStream = getCS(EncodeBatchBufferStartOrEnd::getBatchBufferEndSize()); + auto commandStreamStart = commandStream.getUsed(); + return this->flushSmallTask(commandStream, commandStreamStart); } template diff --git a/shared/source/device/device.cpp b/shared/source/device/device.cpp index 42b85bf4be..f28d356ecb 100644 --- a/shared/source/device/device.cpp +++ b/shared/source/device/device.cpp @@ -388,7 +388,7 @@ bool Device::createEngine(uint32_t deviceCsrIndex, EngineTypeUsage engineTypeUsa if (!defaultEngineAlreadySet) { defaultEngineIndex = deviceCsrIndex; - if (osContext->isDebuggableContext() || Device::isInitDeviceWithFirstSubmissionEnabled(commandStreamReceiver->getType())) { + if (Device::isInitDeviceWithFirstSubmissionEnabled()) { if (SubmissionStatus::SUCCESS != commandStreamReceiver->initializeDeviceWithFirstSubmission()) { return false; } diff --git a/shared/source/device/device.h b/shared/source/device/device.h index 95607cc879..3593571d64 100644 --- a/shared/source/device/device.h +++ b/shared/source/device/device.h @@ -10,7 +10,6 @@ #include "shared/source/helpers/engine_control.h" #include "shared/source/helpers/engine_node_helper.h" #include "shared/source/helpers/non_copyable_or_moveable.h" -#include "shared/source/helpers/options.h" #include "shared/source/os_interface/hw_info_config.h" #include "shared/source/os_interface/performance_counters.h" #include "shared/source/utilities/reference_tracked_object.h" @@ -108,7 +107,7 @@ class Device : public ReferenceTrackedObject { RootDeviceEnvironment &getRootDeviceEnvironmentRef() const; bool isFullRangeSvm() const; static bool isBlitSplitEnabled(); - static bool isInitDeviceWithFirstSubmissionEnabled(CommandStreamReceiverType csrType); + static bool isInitDeviceWithFirstSubmissionEnabled(); bool isBcsSplitSupported(); bool areSharedSystemAllocationsAllowed() const; template diff --git a/shared/source/dll/device_dll.cpp b/shared/source/dll/device_dll.cpp index 45879d086b..ab2e883a56 100644 --- a/shared/source/dll/device_dll.cpp +++ b/shared/source/dll/device_dll.cpp @@ -13,8 +13,8 @@ bool Device::isBlitSplitEnabled() { return true; } -bool Device::isInitDeviceWithFirstSubmissionEnabled(CommandStreamReceiverType csrType) { - return csrType == CommandStreamReceiverType::CSR_HW; +bool Device::isInitDeviceWithFirstSubmissionEnabled() { + return true; } } // namespace NEO diff --git a/shared/test/common/mocks/device_ult.cpp b/shared/test/common/mocks/device_ult.cpp index bc8fdf6f1b..74ac0e6e16 100644 --- a/shared/test/common/mocks/device_ult.cpp +++ b/shared/test/common/mocks/device_ult.cpp @@ -7,13 +7,14 @@ #include "shared/source/device/device.h" #include "shared/test/common/helpers/ult_hw_config.h" + namespace NEO { bool Device::isBlitSplitEnabled() { return ultHwConfig.useBlitSplit; } -bool Device::isInitDeviceWithFirstSubmissionEnabled(CommandStreamReceiverType csrType) { +bool Device::isInitDeviceWithFirstSubmissionEnabled() { return ultHwConfig.useFirstSubmissionInitDevice; }