From 46e4a389c2f4490bda16b2ab652cb8e6a3013028 Mon Sep 17 00:00:00 2001 From: Compute-Runtime-Validation Date: Thu, 28 Apr 2022 16:39:45 +0200 Subject: [PATCH] Revert "fix rootDeviceIndex issue for PCI reorder" This reverts commit d797d79f979900adfb37ec3bed602878dd210738. Signed-off-by: Compute-Runtime-Validation --- .../linux/test_driver_handle_imp_linux.cpp | 100 ------------------ .../linux/execution_environment_linux.cpp | 15 --- .../drm_memory_operations_handler_bind.h | 6 -- 3 files changed, 121 deletions(-) diff --git a/level_zero/core/test/unit_tests/sources/driver/linux/test_driver_handle_imp_linux.cpp b/level_zero/core/test/unit_tests/sources/driver/linux/test_driver_handle_imp_linux.cpp index 4c13358b49..2ad94cc9d7 100644 --- a/level_zero/core/test/unit_tests/sources/driver/linux/test_driver_handle_imp_linux.cpp +++ b/level_zero/core/test/unit_tests/sources/driver/linux/test_driver_handle_imp_linux.cpp @@ -7,7 +7,6 @@ #include "shared/source/execution_environment/root_device_environment.h" #include "shared/source/os_interface/device_factory.h" -#include "shared/source/os_interface/linux/drm_memory_operations_handler_bind.h" #include "shared/source/os_interface/linux/drm_neo.h" #include "shared/source/os_interface/os_interface.h" #include "shared/test/common/mocks/mock_compilers.h" @@ -38,9 +37,6 @@ class DriverLinuxFixture : public ::testing::Test { for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { executionEnvironment->rootDeviceEnvironments[i]->setHwInfo(&hwInfo); } - for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { - executionEnvironment->rootDeviceEnvironments[i]->memoryOperationsInterface = std::make_unique(*executionEnvironment->rootDeviceEnvironments[i], i); - } deviceFactory = std::make_unique(numRootDevices, numSubDevices, *executionEnvironment); for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { devices.push_back(std::unique_ptr(deviceFactory->rootDevices[i])); @@ -51,11 +47,6 @@ class DriverLinuxFixture : public ::testing::Test { osInterface->setDriverModel(std::make_unique(bdf[i], const_cast(devices[i]->getRootDeviceEnvironment()))); } executionEnvironment->sortNeoDevices(); - - for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { - NEO::DrmMemoryOperationsHandlerBind *drm = static_cast(executionEnvironment->rootDeviceEnvironments[i]->memoryOperationsInterface.get()); - EXPECT_EQ(drm->getRootDeviceIndex(), i); - } } void TearDown() override {} @@ -140,9 +131,6 @@ class DriverPciOrderWitSimilarBusLinuxFixture : public ::testing::Test { for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { executionEnvironment->rootDeviceEnvironments[i]->setHwInfo(&hwInfo); } - for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { - executionEnvironment->rootDeviceEnvironments[i]->memoryOperationsInterface = std::make_unique(*executionEnvironment->rootDeviceEnvironments[i], i); - } deviceFactory = std::make_unique(numRootDevices, numSubDevices, *executionEnvironment); for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { devices.push_back(std::unique_ptr(deviceFactory->rootDevices[i])); @@ -153,11 +141,6 @@ class DriverPciOrderWitSimilarBusLinuxFixture : public ::testing::Test { osInterface->setDriverModel(std::make_unique(bdf[i], const_cast(devices[i]->getRootDeviceEnvironment()))); } executionEnvironment->sortNeoDevices(); - - for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { - NEO::DrmMemoryOperationsHandlerBind *drm = static_cast(executionEnvironment->rootDeviceEnvironments[i]->memoryOperationsInterface.get()); - EXPECT_EQ(drm->getRootDeviceIndex(), i); - } } void TearDown() override {} @@ -199,9 +182,6 @@ class DriverPciOrderWitDifferentDeviceLinuxFixture : public ::testing::Test { for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { executionEnvironment->rootDeviceEnvironments[i]->setHwInfo(&hwInfo); } - for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { - executionEnvironment->rootDeviceEnvironments[i]->memoryOperationsInterface = std::make_unique(*executionEnvironment->rootDeviceEnvironments[i], i); - } deviceFactory = std::make_unique(numRootDevices, numSubDevices, *executionEnvironment); for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { devices.push_back(std::unique_ptr(deviceFactory->rootDevices[i])); @@ -212,11 +192,6 @@ class DriverPciOrderWitDifferentDeviceLinuxFixture : public ::testing::Test { osInterface->setDriverModel(std::make_unique(bdf[i], const_cast(devices[i]->getRootDeviceEnvironment()))); } executionEnvironment->sortNeoDevices(); - - for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { - NEO::DrmMemoryOperationsHandlerBind *drm = static_cast(executionEnvironment->rootDeviceEnvironments[i]->memoryOperationsInterface.get()); - EXPECT_EQ(drm->getRootDeviceIndex(), i); - } } void TearDown() override {} @@ -258,9 +233,6 @@ class DriverPciOrderWitSimilarBusAndDeviceLinuxFixture : public ::testing::Test for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { executionEnvironment->rootDeviceEnvironments[i]->setHwInfo(&hwInfo); } - for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { - executionEnvironment->rootDeviceEnvironments[i]->memoryOperationsInterface = std::make_unique(*executionEnvironment->rootDeviceEnvironments[i], i); - } deviceFactory = std::make_unique(numRootDevices, numSubDevices, *executionEnvironment); for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { devices.push_back(std::unique_ptr(deviceFactory->rootDevices[i])); @@ -271,11 +243,6 @@ class DriverPciOrderWitSimilarBusAndDeviceLinuxFixture : public ::testing::Test osInterface->setDriverModel(std::make_unique(bdf[i], const_cast(devices[i]->getRootDeviceEnvironment()))); } executionEnvironment->sortNeoDevices(); - - for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { - NEO::DrmMemoryOperationsHandlerBind *drm = static_cast(executionEnvironment->rootDeviceEnvironments[i]->memoryOperationsInterface.get()); - EXPECT_EQ(drm->getRootDeviceIndex(), i); - } } void TearDown() override {} @@ -317,9 +284,6 @@ class DriverPciOrderWitSimilarBDFLinuxFixture : public ::testing::Test { for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { executionEnvironment->rootDeviceEnvironments[i]->setHwInfo(&hwInfo); } - for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { - executionEnvironment->rootDeviceEnvironments[i]->memoryOperationsInterface = std::make_unique(*executionEnvironment->rootDeviceEnvironments[i], i); - } deviceFactory = std::make_unique(numRootDevices, numSubDevices, *executionEnvironment); for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { devices.push_back(std::unique_ptr(deviceFactory->rootDevices[i])); @@ -330,11 +294,6 @@ class DriverPciOrderWitSimilarBDFLinuxFixture : public ::testing::Test { osInterface->setDriverModel(std::make_unique(bdf[i], const_cast(devices[i]->getRootDeviceEnvironment()))); } executionEnvironment->sortNeoDevices(); - - for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { - NEO::DrmMemoryOperationsHandlerBind *drm = static_cast(executionEnvironment->rootDeviceEnvironments[i]->memoryOperationsInterface.get()); - EXPECT_EQ(drm->getRootDeviceIndex(), i); - } } void TearDown() override {} @@ -363,64 +322,5 @@ TEST_F(DriverPciOrderWitSimilarBDFLinuxFixture, GivenEnvironmentVariableForDevic delete driverHandle; } -class DriverPciOrderSortDoesNothing : public ::testing::Test { - public: - void SetUp() override { - DebugManagerStateRestore restorer; - DebugManager.flags.ZE_ENABLE_PCI_ID_DEVICE_ORDER.set(1); - - NEO::MockCompilerEnableGuard mock(true); - auto executionEnvironment = new NEO::ExecutionEnvironment(); - executionEnvironment->prepareRootDeviceEnvironments(numRootDevices); - NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo.get(); - for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { - executionEnvironment->rootDeviceEnvironments[i]->setHwInfo(&hwInfo); - } - for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { - executionEnvironment->rootDeviceEnvironments[i]->memoryOperationsInterface = std::make_unique(*executionEnvironment->rootDeviceEnvironments[i], i); - } - deviceFactory = std::make_unique(numRootDevices, numSubDevices, *executionEnvironment); - for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { - devices.push_back(std::unique_ptr(deviceFactory->rootDevices[i])); - } - for (auto i = 0u; i < devices.size(); i++) { - devices[i]->getExecutionEnvironment()->rootDeviceEnvironments[i]->osInterface = std::make_unique(); - auto osInterface = devices[i]->getExecutionEnvironment()->rootDeviceEnvironments[i]->osInterface.get(); - osInterface->setDriverModel(std::make_unique(bdf[i], const_cast(devices[i]->getRootDeviceEnvironment()))); - } - executionEnvironment->sortNeoDevices(); - - for (auto i = 0u; i < executionEnvironment->rootDeviceEnvironments.size(); i++) { - NEO::DrmMemoryOperationsHandlerBind *drm = static_cast(executionEnvironment->rootDeviceEnvironments[i]->memoryOperationsInterface.get()); - EXPECT_EQ(drm->getRootDeviceIndex(), i); - } - } - void TearDown() override {} - - static constexpr uint32_t numRootDevices = 2u; - static constexpr uint32_t numSubDevices = 2u; - std::vector> devices; - std::string bdf[numRootDevices] = {"0000:03:04.0", "0001:03:04.0"}; - std::string sortedBdf[numRootDevices] = {"0000:03:04.0", "0001:03:04.0"}; - std::unique_ptr deviceFactory; -}; - -TEST_F(DriverPciOrderSortDoesNothing, GivenEnvironmentVariableForDeviceOrderAccordingToPciSetThenVerifyCaseSortDoesNothing) { - NEO::MockCompilerEnableGuard mock(true); - DriverHandleImp *driverHandle = new DriverHandleImp; - - EXPECT_EQ(ZE_RESULT_SUCCESS, driverHandle->initialize(std::move(devices))); - - for (uint32_t i = 0; i < numRootDevices; i++) { - auto L0Device = driverHandle->devices[i]; - if (L0Device != nullptr) { - auto pDrm = L0Device->getNEODevice()->getExecutionEnvironment()->rootDeviceEnvironments[L0Device->getRootDeviceIndex()]->osInterface->getDriverModel()->as(); - EXPECT_NE(pDrm, nullptr); - EXPECT_TRUE(!pDrm->getPciPath().compare(sortedBdf[i])); - } - } - delete driverHandle; -} - } // namespace ult } // namespace L0 diff --git a/shared/source/execution_environment/linux/execution_environment_linux.cpp b/shared/source/execution_environment/linux/execution_environment_linux.cpp index 9b319e9fa9..7e3ea5f94b 100644 --- a/shared/source/execution_environment/linux/execution_environment_linux.cpp +++ b/shared/source/execution_environment/linux/execution_environment_linux.cpp @@ -8,7 +8,6 @@ #include "shared/source/debug_settings/debug_settings_manager.h" #include "shared/source/execution_environment/execution_environment.h" #include "shared/source/execution_environment/root_device_environment.h" -#include "shared/source/os_interface/linux/drm_memory_operations_handler_bind.h" #include "shared/source/os_interface/linux/drm_neo.h" #include "shared/source/os_interface/os_interface.h" @@ -44,21 +43,7 @@ bool comparePciIdBusNumber(std::unique_ptr &rootDeviceEnv void ExecutionEnvironment::sortNeoDevices() { const auto pciOrderVar = DebugManager.flags.ZE_ENABLE_PCI_ID_DEVICE_ORDER.get(); if (pciOrderVar) { - - std::vector presort_index; - for (uint32_t i = 0; i < rootDeviceEnvironments.size(); i++) { - NEO::DrmMemoryOperationsHandlerBind *drm = static_cast(rootDeviceEnvironments[i]->memoryOperationsInterface.get()); - presort_index.push_back(drm->getRootDeviceIndex()); - } - std::sort(rootDeviceEnvironments.begin(), rootDeviceEnvironments.end(), comparePciIdBusNumber); - - for (uint32_t i = 0; i < rootDeviceEnvironments.size(); i++) { - NEO::DrmMemoryOperationsHandlerBind *drm = static_cast(rootDeviceEnvironments[i]->memoryOperationsInterface.get()); - if (drm->getRootDeviceIndex() != presort_index[i]) { - drm->setRootDeviceIndex(presort_index[i]); - } - } } } diff --git a/shared/source/os_interface/linux/drm_memory_operations_handler_bind.h b/shared/source/os_interface/linux/drm_memory_operations_handler_bind.h index eb3b2d4893..35969c42ce 100644 --- a/shared/source/os_interface/linux/drm_memory_operations_handler_bind.h +++ b/shared/source/os_interface/linux/drm_memory_operations_handler_bind.h @@ -26,12 +26,6 @@ class DrmMemoryOperationsHandlerBind : public DrmMemoryOperationsHandler { std::unique_lock lockHandlerIfUsed() override; MemoryOperationsStatus evictUnusedAllocations(bool waitForCompletion, bool isLockNeeded) override; - uint32_t getRootDeviceIndex() { - return this->rootDeviceIndex; - } - void setRootDeviceIndex(uint32_t index) { - this->rootDeviceIndex = index; - } protected: MOCKABLE_VIRTUAL int evictImpl(OsContext *osContext, GraphicsAllocation &gfxAllocation, DeviceBitfield deviceBitfield);