From dc26b251692aa2af753cfae3626f92c1446daee0 Mon Sep 17 00:00:00 2001 From: Dominik Dabek Date: Fri, 21 Jun 2024 11:32:33 +0000 Subject: [PATCH] Revert "fix: ulls controller sleep, windows" This reverts commit 672cc0ebc772c7ba5bab9dfa066f69a4ac8b12fd. Resolves: HSD-18038912878, NEO-11770 Signed-off-by: Dominik Dabek --- CMakeLists.txt | 2 +- .../unit_test/offline_compiler/CMakeLists.txt | 2 +- shared/offline_compiler/source/CMakeLists.txt | 2 +- .../direct_submission_controller.cpp | 4 +++ .../direct_submission/linux/CMakeLists.txt | 1 - .../direct_submission_controller_linux.cpp | 17 ----------- .../direct_submission/windows/CMakeLists.txt | 1 - .../direct_submission_controller_windows.cpp | 20 ------------- .../source/os_interface/windows/sys_calls.cpp | 8 ----- .../source/os_interface/windows/sys_calls.h | 2 -- .../common/os_interface/windows/sys_calls.cpp | 17 ----------- shared/test/unit_test/CMakeLists.txt | 2 +- .../windows/wddm_direct_submission_tests.cpp | 30 ++----------------- 13 files changed, 11 insertions(+), 97 deletions(-) delete mode 100644 shared/source/direct_submission/linux/direct_submission_controller_linux.cpp delete mode 100644 shared/source/direct_submission/windows/direct_submission_controller_windows.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 7de9dcbb3b..8c8014ccc4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -946,7 +946,7 @@ set(BUILTINS_SPIRV_LIB_NAME "builtins_spirv") set(BUILTINS_VME_LIB_NAME "builtins_vme") if(WIN32) - set(NEO_EXTRA_LIBS Ws2_32 winmm) + set(NEO_EXTRA_LIBS Ws2_32) else() set(NEO_EXTRA_LIBS dl pthread rt) endif() diff --git a/opencl/test/unit_test/offline_compiler/CMakeLists.txt b/opencl/test/unit_test/offline_compiler/CMakeLists.txt index f83e537120..bca3ea896c 100644 --- a/opencl/test/unit_test/offline_compiler/CMakeLists.txt +++ b/opencl/test/unit_test/offline_compiler/CMakeLists.txt @@ -133,7 +133,7 @@ target_compile_definitions(ocloc_tests PUBLIC MOCKABLE_VIRTUAL=virtual $timeout)); +} + SteadyClock::time_point DirectSubmissionController::getCpuTimestamp() { return SteadyClock::now(); } diff --git a/shared/source/direct_submission/linux/CMakeLists.txt b/shared/source/direct_submission/linux/CMakeLists.txt index 9234c1ef13..70153c0fcb 100644 --- a/shared/source/direct_submission/linux/CMakeLists.txt +++ b/shared/source/direct_submission/linux/CMakeLists.txt @@ -6,7 +6,6 @@ set(NEO_CORE_DIRECT_SUBMISSION_LINUX ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt - ${CMAKE_CURRENT_SOURCE_DIR}/direct_submission_controller_linux.cpp ${CMAKE_CURRENT_SOURCE_DIR}/drm_direct_submission.h ${CMAKE_CURRENT_SOURCE_DIR}/drm_direct_submission.inl ) diff --git a/shared/source/direct_submission/linux/direct_submission_controller_linux.cpp b/shared/source/direct_submission/linux/direct_submission_controller_linux.cpp deleted file mode 100644 index 36963b3733..0000000000 --- a/shared/source/direct_submission/linux/direct_submission_controller_linux.cpp +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2024 Intel Corporation - * - * SPDX-License-Identifier: MIT - * - */ - -#include "shared/source/direct_submission/direct_submission_controller.h" -#include "shared/source/helpers/sleep.h" - -#include -#include -namespace NEO { -void DirectSubmissionController::sleep() { - NEO::sleep(std::chrono::microseconds(this->timeout)); -} -} // namespace NEO \ No newline at end of file diff --git a/shared/source/direct_submission/windows/CMakeLists.txt b/shared/source/direct_submission/windows/CMakeLists.txt index 438eb3544d..ce975d8fbb 100644 --- a/shared/source/direct_submission/windows/CMakeLists.txt +++ b/shared/source/direct_submission/windows/CMakeLists.txt @@ -6,7 +6,6 @@ set(NEO_CORE_DIRECT_SUBMISSION_WINDOWS ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt - ${CMAKE_CURRENT_SOURCE_DIR}/direct_submission_controller_windows.cpp ${CMAKE_CURRENT_SOURCE_DIR}/wddm_direct_submission.h ${CMAKE_CURRENT_SOURCE_DIR}/wddm_direct_submission.inl ) diff --git a/shared/source/direct_submission/windows/direct_submission_controller_windows.cpp b/shared/source/direct_submission/windows/direct_submission_controller_windows.cpp deleted file mode 100644 index 4c284e7149..0000000000 --- a/shared/source/direct_submission/windows/direct_submission_controller_windows.cpp +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (C) 2024 Intel Corporation - * - * SPDX-License-Identifier: MIT - * - */ - -#include "shared/source/direct_submission/direct_submission_controller.h" -#include "shared/source/helpers/sleep.h" -#include "shared/source/os_interface/windows/sys_calls.h" - -#include -#include -namespace NEO { -void DirectSubmissionController::sleep() { - SysCalls::timeBeginPeriod(1u); - NEO::sleep(std::chrono::microseconds(this->timeout)); - SysCalls::timeEndPeriod(1u); -} -} // namespace NEO \ No newline at end of file diff --git a/shared/source/os_interface/windows/sys_calls.cpp b/shared/source/os_interface/windows/sys_calls.cpp index be898e5bd5..e8ca12efc3 100644 --- a/shared/source/os_interface/windows/sys_calls.cpp +++ b/shared/source/os_interface/windows/sys_calls.cpp @@ -151,14 +151,6 @@ void setThreadPriority(ThreadPriority priority) { } } -MMRESULT timeBeginPeriod(UINT period) { - return ::timeBeginPeriod(period); -} - -MMRESULT timeEndPeriod(UINT period) { - return ::timeEndPeriod(period); -} - LSTATUS regOpenKeyExA(HKEY hKey, LPCSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult) { return RegOpenKeyExA(hKey, lpSubKey, ulOptions, samDesired, phkResult); } diff --git a/shared/source/os_interface/windows/sys_calls.h b/shared/source/os_interface/windows/sys_calls.h index 5382ad91bb..74e9a3c90f 100644 --- a/shared/source/os_interface/windows/sys_calls.h +++ b/shared/source/os_interface/windows/sys_calls.h @@ -49,8 +49,6 @@ DWORD setFilePointer(HANDLE hFile, LONG lDistanceToMove, PLONG lpDistanceToMoveH void setProcessPowerThrottlingState(ProcessPowerThrottlingState state); void setThreadPriority(ThreadPriority priority); void coTaskMemFree(LPVOID pv); -MMRESULT timeBeginPeriod(UINT period); -MMRESULT timeEndPeriod(UINT period); LSTATUS regOpenKeyExA(HKEY hKey, LPCSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult); LSTATUS regQueryValueExA(HKEY hKey, LPCSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData); diff --git a/shared/test/common/os_interface/windows/sys_calls.cpp b/shared/test/common/os_interface/windows/sys_calls.cpp index 8b97fffcf1..803414c7d5 100644 --- a/shared/test/common/os_interface/windows/sys_calls.cpp +++ b/shared/test/common/os_interface/windows/sys_calls.cpp @@ -99,11 +99,6 @@ ProcessPowerThrottlingState setProcessPowerThrottlingStateLastValue{}; size_t setThreadPriorityCalled = 0u; ThreadPriority setThreadPriorityLastValue{}; -size_t timeBeginPeriodCalled = 0u; -UINT timeBeginPeriodLastValue = 0u; -size_t timeEndPeriodCalled = 0u; -UINT timeEndPeriodLastValue = 0u; - HANDLE(*sysCallsCreateFile) (LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) = nullptr; @@ -312,18 +307,6 @@ void setThreadPriority(ThreadPriority priority) { setThreadPriorityLastValue = priority; } -MMRESULT timeBeginPeriod(UINT period) { - timeBeginPeriodCalled++; - timeBeginPeriodLastValue = period; - return 0u; -} - -MMRESULT timeEndPeriod(UINT period) { - timeEndPeriodCalled++; - timeEndPeriodLastValue = period; - return 0u; -} - HANDLE createFile(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) { if (sysCallsCreateFile != nullptr) { return sysCallsCreateFile(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); diff --git a/shared/test/unit_test/CMakeLists.txt b/shared/test/unit_test/CMakeLists.txt index 62456434c3..db2d898be3 100644 --- a/shared/test/unit_test/CMakeLists.txt +++ b/shared/test/unit_test/CMakeLists.txt @@ -49,7 +49,7 @@ if(UNIX AND NOT DISABLE_WDDM_LINUX) endif() if(WIN32) - target_link_libraries(neo_shared_tests dbghelp winmm) + target_link_libraries(neo_shared_tests dbghelp) endif() target_link_libraries(neo_shared_tests diff --git a/shared/test/unit_test/direct_submission/windows/wddm_direct_submission_tests.cpp b/shared/test/unit_test/direct_submission/windows/wddm_direct_submission_tests.cpp index 4061e5375b..c0b8b378fd 100644 --- a/shared/test/unit_test/direct_submission/windows/wddm_direct_submission_tests.cpp +++ b/shared/test/unit_test/direct_submission/windows/wddm_direct_submission_tests.cpp @@ -10,29 +10,21 @@ #include "shared/source/gmm_helper/gmm_helper.h" #include "shared/source/helpers/flush_stamp.h" #include "shared/source/memory_manager/allocation_properties.h" -#include "shared/source/os_interface/windows/sys_calls.h" #include "shared/source/os_interface/windows/wddm/wddm_residency_logger.h" #include "shared/source/os_interface/windows/wddm_memory_manager.h" #include "shared/source/os_interface/windows/wddm_residency_controller.h" #include "shared/test/common/cmd_parse/hw_parse.h" #include "shared/test/common/helpers/debug_manager_state_restore.h" #include "shared/test/common/helpers/unit_test_helper.h" -#include "shared/test/common/helpers/variable_backup.h" #include "shared/test/common/mocks/mock_io_functions.h" #include "shared/test/common/mocks/mock_os_context_win.h" #include "shared/test/common/os_interface/windows/wddm_fixture.h" #include "shared/test/common/test_macros/hw_test.h" -#include "shared/test/unit_test/direct_submission/direct_submission_controller_mock.h" #include "shared/test/unit_test/mocks/windows/mock_wddm_direct_submission.h" -extern uint64_t cpuFence; -namespace NEO { -namespace SysCalls { -extern size_t timeBeginPeriodCalled; -extern MMRESULT timeBeginPeriodLastValue; -extern size_t timeEndPeriodCalled; -extern MMRESULT timeEndPeriodLastValue; -} // namespace SysCalls +using namespace NEO; + +extern uint64_t cpuFence; template struct WddmDirectSubmissionFixture : public WddmFixture { @@ -1125,19 +1117,3 @@ HWTEST_F(WddmDirectSubmissionTest, givenDirectSubmissionWhenSwitchingRingBuffers wddmDirectSubmission.handleSwitchRingBuffers(nullptr); EXPECT_EQ(wddmDirectSubmission.ringBufferForCompletionFence, wddmDirectSubmission.previousRingBuffer); } - -TEST(DirectSubmissionControllerWindowsTest, givenDirectSubmissionControllerWhenCallingSleepThenRequestHighResolutionTimers) { - VariableBackup timeBeginPeriodCalledBackup(&SysCalls::timeBeginPeriodCalled, 0u); - VariableBackup timeBeginPeriodLastValueBackup(&SysCalls::timeBeginPeriodLastValue, 0u); - VariableBackup timeEndPeriodCalledBackup(&SysCalls::timeEndPeriodCalled, 0u); - VariableBackup timeEndPeriodLastValueBackup(&SysCalls::timeEndPeriodLastValue, 0u); - - DirectSubmissionControllerMock controller; - controller.sleep(); - EXPECT_TRUE(controller.sleepCalled); - EXPECT_EQ(1u, SysCalls::timeBeginPeriodCalled); - EXPECT_EQ(1u, SysCalls::timeEndPeriodCalled); - EXPECT_EQ(1u, SysCalls::timeBeginPeriodLastValue); - EXPECT_EQ(1u, SysCalls::timeEndPeriodLastValue); -} -} // namespace NEO \ No newline at end of file