Revert "fix: ulls controller sleep, windows"

This reverts commit 672cc0ebc7.

Resolves: HSD-18038912878, NEO-11770

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
This commit is contained in:
Dominik Dabek 2024-06-21 11:32:33 +00:00 committed by Compute-Runtime-Automation
parent a9795349b4
commit dc26b25169
13 changed files with 11 additions and 97 deletions

View File

@ -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()

View File

@ -133,7 +133,7 @@ target_compile_definitions(ocloc_tests PUBLIC MOCKABLE_VIRTUAL=virtual $<TARGET_
target_link_libraries(ocloc_tests gmock-gtest)
if(WIN32)
target_link_libraries(ocloc_tests dbghelp winmm)
target_link_libraries(ocloc_tests dbghelp)
endif()
if(UNIX)

View File

@ -357,7 +357,7 @@ target_compile_definitions(${OCLOC_NAME}_lib PUBLIC ${CLOC_LIB_LIB_FLAGS_DEFINIT
target_compile_definitions(${OCLOC_NAME}_lib PUBLIC ${NEO__IGC_COMPILE_DEFINITIONS})
if(WIN32)
target_link_libraries(${OCLOC_NAME}_lib dbghelp winmm)
target_link_libraries(${OCLOC_NAME}_lib dbghelp)
endif()
if(UNIX)

View File

@ -151,6 +151,10 @@ void DirectSubmissionController::checkNewSubmissions() {
}
}
void DirectSubmissionController::sleep() {
NEO::sleep(std::chrono::microseconds(this->timeout));
}
SteadyClock::time_point DirectSubmissionController::getCpuTimestamp() {
return SteadyClock::now();
}

View File

@ -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
)

View File

@ -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 <chrono>
#include <thread>
namespace NEO {
void DirectSubmissionController::sleep() {
NEO::sleep(std::chrono::microseconds(this->timeout));
}
} // namespace NEO

View File

@ -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
)

View File

@ -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 <chrono>
#include <thread>
namespace NEO {
void DirectSubmissionController::sleep() {
SysCalls::timeBeginPeriod(1u);
NEO::sleep(std::chrono::microseconds(this->timeout));
SysCalls::timeEndPeriod(1u);
}
} // namespace NEO

View File

@ -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);
}

View File

@ -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);

View File

@ -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);

View File

@ -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

View File

@ -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 <PreemptionMode preemptionMode>
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<size_t> timeBeginPeriodCalledBackup(&SysCalls::timeBeginPeriodCalled, 0u);
VariableBackup<MMRESULT> timeBeginPeriodLastValueBackup(&SysCalls::timeBeginPeriodLastValue, 0u);
VariableBackup<size_t> timeEndPeriodCalledBackup(&SysCalls::timeEndPeriodCalled, 0u);
VariableBackup<MMRESULT> 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