Revert "performance: disable gem close worker on non integrated devices"
This reverts commit 3cf7cbc9e9
.
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
parent
3034d5834d
commit
128dc4a3ad
|
@ -15,7 +15,6 @@
|
|||
#include "shared/source/helpers/aligned_memory.h"
|
||||
#include "shared/source/helpers/flush_stamp.h"
|
||||
#include "shared/source/helpers/gfx_core_helper.h"
|
||||
#include "shared/source/helpers/hw_info.h"
|
||||
#include "shared/source/memory_manager/residency.h"
|
||||
#include "shared/source/os_interface/linux/drm_allocation.h"
|
||||
#include "shared/source/os_interface/linux/drm_buffer_object.h"
|
||||
|
@ -43,7 +42,7 @@ DrmCommandStreamReceiver<GfxFamily>::DrmCommandStreamReceiver(ExecutionEnvironme
|
|||
residency.reserve(512);
|
||||
execObjectsStorage.reserve(512);
|
||||
|
||||
if (this->drm->isVmBindAvailable() || !rootDeviceEnvironment->getHardwareInfo()->capabilityTable.isIntegratedDevice) {
|
||||
if (this->drm->isVmBindAvailable()) {
|
||||
gemCloseWorkerOperationMode = gemCloseWorkerMode::gemCloseWorkerInactive;
|
||||
}
|
||||
|
||||
|
|
|
@ -83,8 +83,7 @@ void DrmMemoryManager::initialize(gemCloseWorkerMode mode) {
|
|||
return;
|
||||
}
|
||||
localMemAllocs.emplace_back();
|
||||
disableGemCloseWorker &= (getDrm(rootDeviceIndex).isVmBindAvailable() ||
|
||||
!executionEnvironment.rootDeviceEnvironments[rootDeviceIndex]->getHardwareInfo()->capabilityTable.isIntegratedDevice);
|
||||
disableGemCloseWorker &= getDrm(rootDeviceIndex).isVmBindAvailable();
|
||||
}
|
||||
|
||||
if (disableGemCloseWorker) {
|
||||
|
|
|
@ -79,9 +79,7 @@ class DrmCommandStreamTest : public ::testing::Test {
|
|||
template <typename GfxFamily>
|
||||
void tearDownT() {
|
||||
memoryManager->waitForDeletions();
|
||||
if (memoryManager->peekGemCloseWorker()) {
|
||||
memoryManager->peekGemCloseWorker()->close(true);
|
||||
}
|
||||
memoryManager->peekGemCloseWorker()->close(true);
|
||||
delete csr;
|
||||
if (mock->ioctlTearDownExpects) {
|
||||
EXPECT_EQ(mock->ioctlCount.gemWait, mock->ioctlTearDownExpected.gemWait);
|
||||
|
|
|
@ -50,21 +50,13 @@ HWTEST_F(DeviceCommandStreamLeaksTest, WhenCreatingDeviceCsrThenValidPointerIsRe
|
|||
HWTEST_F(DeviceCommandStreamLeaksTest, givenDefaultDrmCsrWhenItIsCreatedThenGemCloseWorkerInactiveModeIsSelected) {
|
||||
std::unique_ptr<CommandStreamReceiver> ptr(DeviceCommandStreamReceiver<FamilyType>::create(false, *executionEnvironment, 0, 1));
|
||||
auto drmCsr = (DrmCommandStreamReceiver<FamilyType> *)ptr.get();
|
||||
if (executionEnvironment->rootDeviceEnvironments[0]->getHardwareInfo()->capabilityTable.isIntegratedDevice) {
|
||||
EXPECT_EQ(drmCsr->peekGemCloseWorkerOperationMode(), gemCloseWorkerMode::gemCloseWorkerActive);
|
||||
} else {
|
||||
EXPECT_EQ(drmCsr->peekGemCloseWorkerOperationMode(), gemCloseWorkerMode::gemCloseWorkerInactive);
|
||||
}
|
||||
EXPECT_EQ(drmCsr->peekGemCloseWorkerOperationMode(), gemCloseWorkerMode::gemCloseWorkerActive);
|
||||
}
|
||||
|
||||
HWTEST_F(DeviceCommandStreamLeaksTest, givenDefaultDrmCsrWithAubDumWhenItIsCreatedThenGemCloseWorkerInactiveModeIsSelected) {
|
||||
std::unique_ptr<CommandStreamReceiver> ptr(DeviceCommandStreamReceiver<FamilyType>::create(true, *executionEnvironment, 0, 1));
|
||||
auto drmCsrWithAubDump = (CommandStreamReceiverWithAUBDump<DrmCommandStreamReceiver<FamilyType>> *)ptr.get();
|
||||
if (executionEnvironment->rootDeviceEnvironments[0]->getHardwareInfo()->capabilityTable.isIntegratedDevice) {
|
||||
EXPECT_EQ(drmCsrWithAubDump->peekGemCloseWorkerOperationMode(), gemCloseWorkerMode::gemCloseWorkerActive);
|
||||
} else {
|
||||
EXPECT_EQ(drmCsrWithAubDump->peekGemCloseWorkerOperationMode(), gemCloseWorkerMode::gemCloseWorkerInactive);
|
||||
}
|
||||
EXPECT_EQ(drmCsrWithAubDump->peekGemCloseWorkerOperationMode(), gemCloseWorkerMode::gemCloseWorkerActive);
|
||||
auto aubCSR = static_cast<CommandStreamReceiverWithAUBDump<DrmCommandStreamReceiver<FamilyType>> *>(ptr.get())->aubCSR.get();
|
||||
EXPECT_NE(nullptr, aubCSR);
|
||||
}
|
||||
|
@ -102,11 +94,7 @@ HWTEST_F(DeviceCommandStreamLeaksTest, givenDefaultGemCloseWorkerWhenCsrIsCreate
|
|||
std::unique_ptr<CommandStreamReceiver> ptr(DeviceCommandStreamReceiver<FamilyType>::create(false, *executionEnvironment, 0, 1));
|
||||
auto drmCsr = (DrmCommandStreamReceiver<FamilyType> *)ptr.get();
|
||||
|
||||
if (executionEnvironment->rootDeviceEnvironments[0]->getHardwareInfo()->capabilityTable.isIntegratedDevice) {
|
||||
EXPECT_EQ(drmCsr->peekGemCloseWorkerOperationMode(), gemCloseWorkerMode::gemCloseWorkerActive);
|
||||
} else {
|
||||
EXPECT_EQ(drmCsr->peekGemCloseWorkerOperationMode(), gemCloseWorkerMode::gemCloseWorkerInactive);
|
||||
}
|
||||
EXPECT_EQ(drmCsr->peekGemCloseWorkerOperationMode(), gemCloseWorkerMode::gemCloseWorkerActive);
|
||||
}
|
||||
|
||||
using DeviceCommandStreamSetInternalUsageTests = DeviceCommandStreamLeaksTest;
|
||||
|
@ -114,12 +102,7 @@ using DeviceCommandStreamSetInternalUsageTests = DeviceCommandStreamLeaksTest;
|
|||
HWTEST_F(DeviceCommandStreamSetInternalUsageTests, givenValidDrmCsrThenGemCloseWorkerOperationModeIsSetToInactiveWhenInternalUsageIsSet) {
|
||||
std::unique_ptr<CommandStreamReceiver> ptr(DeviceCommandStreamReceiver<FamilyType>::create(false, *executionEnvironment, 0, 1));
|
||||
auto drmCsr = (DrmCommandStreamReceiver<FamilyType> *)ptr.get();
|
||||
|
||||
if (executionEnvironment->rootDeviceEnvironments[0]->getHardwareInfo()->capabilityTable.isIntegratedDevice) {
|
||||
EXPECT_EQ(drmCsr->peekGemCloseWorkerOperationMode(), gemCloseWorkerMode::gemCloseWorkerActive);
|
||||
} else {
|
||||
EXPECT_EQ(drmCsr->peekGemCloseWorkerOperationMode(), gemCloseWorkerMode::gemCloseWorkerInactive);
|
||||
}
|
||||
EXPECT_EQ(drmCsr->peekGemCloseWorkerOperationMode(), gemCloseWorkerMode::gemCloseWorkerActive);
|
||||
|
||||
drmCsr->initializeDefaultsForInternalEngine();
|
||||
EXPECT_EQ(drmCsr->peekGemCloseWorkerOperationMode(), gemCloseWorkerMode::gemCloseWorkerInactive);
|
||||
|
|
|
@ -199,7 +199,7 @@ HWTEST_TEMPLATED_F(DrmCommandStreamTest, WhenFlushingThenAvailableSpaceDoesNotCh
|
|||
EXPECT_NE(cs.getCpuBase(), nullptr);
|
||||
EXPECT_EQ(availableSpacePriorToFlush, cs.getAvailableSpace());
|
||||
|
||||
mock->ioctlTearDownExpected.gemWait = 1 + executionEnvironment.rootDeviceEnvironments[0]->getHardwareInfo()->capabilityTable.isIntegratedDevice;
|
||||
mock->ioctlTearDownExpected.gemWait = 2;
|
||||
mock->ioctlTearDownExpected.gemClose = 1;
|
||||
mock->ioctlTearDownExpects = true;
|
||||
|
||||
|
@ -288,7 +288,7 @@ HWTEST_TEMPLATED_F(DrmCommandStreamTest, GivenLowPriorityContextWhenFlushingThen
|
|||
EXPECT_EQ(1, mock->ioctlCount.gemUserptr);
|
||||
EXPECT_EQ(1, mock->ioctlCount.execbuffer2);
|
||||
|
||||
mock->ioctlTearDownExpected.gemWait = 1 + executionEnvironment.rootDeviceEnvironments[0]->getHardwareInfo()->capabilityTable.isIntegratedDevice;
|
||||
mock->ioctlTearDownExpected.gemWait = 2;
|
||||
mock->ioctlTearDownExpected.gemClose = 1;
|
||||
mock->ioctlTearDownExpects = true;
|
||||
|
||||
|
@ -334,7 +334,7 @@ HWTEST_TEMPLATED_F(DrmCommandStreamTest, GivenNotEmptyBbWhenFlushingThenSucceeds
|
|||
EXPECT_EQ(1, mock->ioctlCount.gemUserptr);
|
||||
EXPECT_EQ(1, mock->ioctlCount.execbuffer2);
|
||||
|
||||
mock->ioctlTearDownExpected.gemWait = 1 + executionEnvironment.rootDeviceEnvironments[0]->getHardwareInfo()->capabilityTable.isIntegratedDevice;
|
||||
mock->ioctlTearDownExpected.gemWait = 2;
|
||||
mock->ioctlTearDownExpected.gemClose = 1;
|
||||
mock->ioctlTearDownExpects = true;
|
||||
|
||||
|
@ -356,7 +356,7 @@ HWTEST_TEMPLATED_F(DrmCommandStreamTest, GivenNotEmptyNotPaddedBbWhenFlushingThe
|
|||
EXPECT_EQ(1, mock->ioctlCount.gemUserptr);
|
||||
EXPECT_EQ(1, mock->ioctlCount.execbuffer2);
|
||||
|
||||
mock->ioctlTearDownExpected.gemWait = 1 + executionEnvironment.rootDeviceEnvironments[0]->getHardwareInfo()->capabilityTable.isIntegratedDevice;
|
||||
mock->ioctlTearDownExpected.gemWait = 2;
|
||||
mock->ioctlTearDownExpected.gemClose = 1;
|
||||
mock->ioctlTearDownExpects = true;
|
||||
|
||||
|
@ -384,7 +384,7 @@ HWTEST_TEMPLATED_F(DrmCommandStreamTest, GivenNotAlignedWhenFlushingThenSucceeds
|
|||
EXPECT_EQ(1, mock->ioctlCount.gemUserptr);
|
||||
EXPECT_EQ(1, mock->ioctlCount.execbuffer2);
|
||||
|
||||
mock->ioctlTearDownExpected.gemWait = 1 + executionEnvironment.rootDeviceEnvironments[0]->getHardwareInfo()->capabilityTable.isIntegratedDevice;
|
||||
mock->ioctlTearDownExpected.gemWait = 2;
|
||||
mock->ioctlTearDownExpected.gemClose = 1;
|
||||
mock->ioctlTearDownExpects = true;
|
||||
|
||||
|
@ -433,7 +433,7 @@ HWTEST_TEMPLATED_F(DrmCommandStreamTest, GivenCheckDrmFreeWhenFlushingThenSuccee
|
|||
EXPECT_EQ(1, mock->ioctlCount.execbuffer2);
|
||||
|
||||
mock->ioctlTearDownExpected.gemClose = 1;
|
||||
mock->ioctlTearDownExpected.gemWait = 1 + executionEnvironment.rootDeviceEnvironments[0]->getHardwareInfo()->capabilityTable.isIntegratedDevice;
|
||||
mock->ioctlTearDownExpected.gemWait = 2;
|
||||
mock->ioctlTearDownExpects = true;
|
||||
|
||||
EXPECT_EQ(expectedBatchStartOffset, mock->execBuffers.back().getBatchStartOffset());
|
||||
|
@ -476,7 +476,7 @@ HWTEST_TEMPLATED_F(DrmCommandStreamTest, GivenCheckDrmFreeCloseFailedWhenFlushin
|
|||
EXPECT_EQ(1, mock->ioctlCount.execbuffer2);
|
||||
|
||||
mock->ioctlTearDownExpected.gemClose = 1;
|
||||
mock->ioctlTearDownExpected.gemWait = 1 + executionEnvironment.rootDeviceEnvironments[0]->getHardwareInfo()->capabilityTable.isIntegratedDevice;
|
||||
mock->ioctlTearDownExpected.gemWait = 2;
|
||||
mock->ioctlTearDownExpects = true;
|
||||
|
||||
EXPECT_EQ(expectedBatchStartOffset, mock->execBuffers.back().getBatchStartOffset());
|
||||
|
|
|
@ -344,9 +344,7 @@ class DrmCommandStreamForceTileTest : public ::testing::Test {
|
|||
template <typename GfxFamily>
|
||||
void tearDownT() {
|
||||
memoryManager->waitForDeletions();
|
||||
if (memoryManager->peekGemCloseWorker()) {
|
||||
memoryManager->peekGemCloseWorker()->close(true);
|
||||
}
|
||||
memoryManager->peekGemCloseWorker()->close(true);
|
||||
delete csr;
|
||||
// Expect 2 calls with DRM_IOCTL_I915_GEM_CONTEXT_DESTROY request on OsContextLinux destruction
|
||||
// Expect 1 call with DRM_IOCTL_GEM_CLOSE request on BufferObject close
|
||||
|
|
|
@ -1053,11 +1053,7 @@ TEST_F(DrmMemoryManagerWithExplicitExpectationsTest, givenDrmMemoryManagerCreate
|
|||
|
||||
TEST_F(DrmMemoryManagerWithExplicitExpectationsTest, givenDrmMemoryManagerCreatedWithGemCloseWorkerActiveThenGemCloseWorkerIsCreated) {
|
||||
DrmMemoryManager drmMemoryManger(gemCloseWorkerMode::gemCloseWorkerActive, false, false, *executionEnvironment);
|
||||
if (executionEnvironment->rootDeviceEnvironments[0]->getHardwareInfo()->capabilityTable.isIntegratedDevice) {
|
||||
EXPECT_NE(nullptr, drmMemoryManger.peekGemCloseWorker());
|
||||
} else {
|
||||
EXPECT_EQ(nullptr, drmMemoryManger.peekGemCloseWorker());
|
||||
}
|
||||
EXPECT_NE(nullptr, drmMemoryManger.peekGemCloseWorker());
|
||||
}
|
||||
|
||||
TEST_F(DrmMemoryManagerTest, GivenAllocationWhenClosingSharedHandleThenSucceeds) {
|
||||
|
@ -2807,11 +2803,7 @@ TEST_F(DrmMemoryManagerBasic, givenEnabledGemCloseWorkerWhenMemoryManagerIsCreat
|
|||
TEST_F(DrmMemoryManagerBasic, givenDefaultGemCloseWorkerWhenMemoryManagerIsCreatedThenGemCloseWorker) {
|
||||
MemoryManagerCreate<DrmMemoryManager> memoryManager(false, false, gemCloseWorkerMode::gemCloseWorkerActive, false, false, executionEnvironment);
|
||||
|
||||
if (executionEnvironment.rootDeviceEnvironments[0]->getHardwareInfo()->capabilityTable.isIntegratedDevice) {
|
||||
EXPECT_NE(nullptr, memoryManager.peekGemCloseWorker());
|
||||
} else {
|
||||
EXPECT_EQ(nullptr, memoryManager.peekGemCloseWorker());
|
||||
}
|
||||
EXPECT_NE(memoryManager.peekGemCloseWorker(), nullptr);
|
||||
}
|
||||
|
||||
TEST_F(DrmMemoryManagerBasic, givenEnabledAsyncDeleterFlagWhenMemoryManagerIsCreatedThenAsyncDeleterEnabledIsFalseAndDeleterIsNullptr) {
|
||||
|
|
Loading…
Reference in New Issue