From d6870a896b721aaf3f1631e0d0879591b7262a99 Mon Sep 17 00:00:00 2001 From: "Dunajski, Bartosz" Date: Thu, 15 Nov 2018 14:47:52 +0100 Subject: [PATCH] Reduce tag pool size to 1 for AUBs Change-Id: I3a3513250b10e899795e149bff2739193a725f84 Signed-off-by: Dunajski, Bartosz --- runtime/command_queue/command_queue.cpp | 4 +- runtime/command_queue/enqueue_common.h | 8 +-- .../aub_command_stream_receiver_hw.h | 2 + .../command_stream/command_stream_receiver.h | 1 + runtime/event/event.cpp | 62 ++++++------------- runtime/event/event.h | 6 +- runtime/helpers/timestamp_packet.cpp | 4 +- runtime/memory_manager/memory_manager.cpp | 20 +++--- runtime/memory_manager/memory_manager.h | 10 ++- .../aub_command_stream_receiver_2_tests.cpp | 6 ++ unit_tests/event/event_tests.cpp | 25 ++++---- unit_tests/helpers/timestamp_packet_tests.cpp | 25 +++++++- .../libult/ult_command_stream_receiver.h | 4 ++ .../memory_manager/memory_manager_tests.cpp | 12 ++-- .../linux/drm_memory_manager_tests.cpp | 2 +- .../windows/wddm_memory_manager_tests.cpp | 2 +- unit_tests/profiling/profiling_tests.cpp | 2 + 17 files changed, 110 insertions(+), 85 deletions(-) diff --git a/runtime/command_queue/command_queue.cpp b/runtime/command_queue/command_queue.cpp index b18ba8d91d..4f79762bbb 100644 --- a/runtime/command_queue/command_queue.cpp +++ b/runtime/command_queue/command_queue.cpp @@ -575,7 +575,9 @@ void CommandQueue::dispatchAuxTranslation(MultiDispatchInfo &multiDispatchInfo, } void CommandQueue::obtainNewTimestampPacketNodes(size_t numberOfNodes, TimestampPacketContainer &previousNodes) { - auto allocator = device->getMemoryManager()->getTimestampPacketAllocator(); + auto preferredPoolSize = device->getCommandStreamReceiver().getPreferredTagPoolSize(); + + auto allocator = device->getMemoryManager()->obtainTimestampPacketAllocator(preferredPoolSize); previousNodes.swapNodes(*timestampPacketContainer); previousNodes.resolveDependencies(isOOQEnabled()); diff --git a/runtime/command_queue/enqueue_common.h b/runtime/command_queue/enqueue_common.h index 20f595e568..5b802cb66e 100644 --- a/runtime/command_queue/enqueue_common.h +++ b/runtime/command_queue/enqueue_common.h @@ -226,9 +226,9 @@ void CommandQueueHw::enqueueHandler(Surface **surfacesForResidency, } if (this->isProfilingEnabled()) { // Get allocation for timestamps - hwTimeStamps = eventBuilder.getEvent()->getHwTimeStamp(); + hwTimeStamps = eventBuilder.getEvent()->getHwTimeStampNode()->tag; if (this->isPerfCountersEnabled()) { - hwPerfCounter = eventBuilder.getEvent()->getHwPerfCounter(); + hwPerfCounter = eventBuilder.getEvent()->getHwPerfCounterNode()->tag; // PERF COUNTER: copy current configuration from queue to event eventBuilder.getEvent()->copyPerfCounters(this->getPerfCountersConfigData()); } @@ -550,9 +550,9 @@ CompletionStamp CommandQueueHw::enqueueNonBlocked( if (isProfilingEnabled() && eventBuilder.getEvent()) { this->getDevice().getOSTime()->getCpuGpuTime(&submitTimeStamp); eventBuilder.getEvent()->setSubmitTimeStamp(&submitTimeStamp); - this->getDevice().getCommandStreamReceiver().makeResident(*eventBuilder.getEvent()->getHwTimeStampAllocation()); + this->getDevice().getCommandStreamReceiver().makeResident(*eventBuilder.getEvent()->getHwTimeStampNode()->getGraphicsAllocation()); if (isPerfCountersEnabled()) { - this->getDevice().getCommandStreamReceiver().makeResident(*eventBuilder.getEvent()->getHwPerfCounterAllocation()); + this->getDevice().getCommandStreamReceiver().makeResident(*eventBuilder.getEvent()->getHwPerfCounterNode()->getGraphicsAllocation()); } } diff --git a/runtime/command_stream/aub_command_stream_receiver_hw.h b/runtime/command_stream/aub_command_stream_receiver_hw.h index d022f84a55..96177f3f49 100644 --- a/runtime/command_stream/aub_command_stream_receiver_hw.h +++ b/runtime/command_stream/aub_command_stream_receiver_hw.h @@ -121,6 +121,8 @@ class AUBCommandStreamReceiverHw : public CommandStreamReceiverSimulatedHw *allocator = cmdQueue->getDevice().getMemoryManager()->peekEventTsAllocator(); + allocator->returnTag(timeStampNode); + } + if (perfCounterNode != nullptr) { + TagAllocator *allocator = cmdQueue->getDevice().getMemoryManager()->peekEventPerfCountAllocator(); + allocator->returnTag(perfCounterNode); + } cmdQueue->decRefInternal(); } if (ctx != nullptr) { - if (timeStampNode != nullptr) { - TagAllocator *allocator = ctx->getDevice(0)->getMemoryManager()->getEventTsAllocator(); - allocator->returnTag(timeStampNode); - } - if (perfCounterNode != nullptr) { - TagAllocator *allocator = ctx->getDevice(0)->getMemoryManager()->getEventPerfCountAllocator(); - allocator->returnTag(perfCounterNode); - } ctx->decRefInternal(); } if (perfConfigurationData) { @@ -205,7 +205,7 @@ cl_int Event::getEventProfilingInfo(cl_profiling_info paramName, if (!cmdQueue->getPerfCounters()->processEventReport(paramValueSize, paramValue, paramValueSizeRet, - getHwPerfCounter(), + getHwPerfCounterNode()->tag, perfConfigurationData, updateStatusAndCheckCompletion())) { return CL_PROFILING_INFO_NOT_AVAILABLE; @@ -667,46 +667,24 @@ void Event::setEndTimeStamp() { } } -HwTimeStamps *Event::getHwTimeStamp() { - TagNode *node = nullptr; +TagNode *Event::getHwTimeStampNode() { if (!timeStampNode) { - TagAllocator *allocator = getCommandQueue()->getDevice().getMemoryManager()->getEventTsAllocator(); - timeStampNode = allocator->getTag(); + auto &device = getCommandQueue()->getDevice(); + auto preferredPoolSize = device.getCommandStreamReceiver().getPreferredTagPoolSize(); + + timeStampNode = device.getMemoryManager()->obtainEventTsAllocator(preferredPoolSize)->getTag(); } - node = timeStampNode; - return node->tag; + return timeStampNode; } -GraphicsAllocation *Event::getHwTimeStampAllocation() { - GraphicsAllocation *gfxalloc = nullptr; - if (!timeStampNode) { - TagAllocator *allocator = getCommandQueue()->getDevice().getMemoryManager()->getEventTsAllocator(); - timeStampNode = allocator->getTag(); - } - gfxalloc = timeStampNode->getGraphicsAllocation(); - - return gfxalloc; -} - -HwPerfCounter *Event::getHwPerfCounter() { - TagNode *node = nullptr; +TagNode *Event::getHwPerfCounterNode() { if (!perfCounterNode) { - TagAllocator *allocator = getCommandQueue()->getDevice().getMemoryManager()->getEventPerfCountAllocator(); - perfCounterNode = allocator->getTag(); - } - node = perfCounterNode; - return node->tag; -} + auto &device = getCommandQueue()->getDevice(); + auto preferredPoolSize = device.getCommandStreamReceiver().getPreferredTagPoolSize(); -GraphicsAllocation *Event::getHwPerfCounterAllocation() { - GraphicsAllocation *gfxalloc = nullptr; - if (!perfCounterNode) { - TagAllocator *allocator = getCommandQueue()->getDevice().getMemoryManager()->getEventPerfCountAllocator(); - perfCounterNode = allocator->getTag(); + perfCounterNode = device.getMemoryManager()->obtainEventPerfCountAllocator(preferredPoolSize)->getTag(); } - gfxalloc = perfCounterNode->getGraphicsAllocation(); - - return gfxalloc; + return perfCounterNode; } void Event::copyPerfCounters(InstrPmRegsCfg *config) { diff --git a/runtime/event/event.h b/runtime/event/event.h index cd0b4ba66e..67229f8c4e 100644 --- a/runtime/event/event.h +++ b/runtime/event/event.h @@ -108,8 +108,7 @@ class Event : public BaseObject<_cl_event>, public IDNode { void setProfilingEnabled(bool profilingEnabled) { this->profilingEnabled = profilingEnabled; } - HwTimeStamps *getHwTimeStamp(); - GraphicsAllocation *getHwTimeStampAllocation(); + TagNode *getHwTimeStampNode(); void addTimestampPacketNodes(TimestampPacketContainer &inputTimestampPacketContainer); TimestampPacketContainer *getTimestampPacketNodes() const; @@ -124,8 +123,7 @@ class Event : public BaseObject<_cl_event>, public IDNode { void copyPerfCounters(InstrPmRegsCfg *config); - HwPerfCounter *getHwPerfCounter(); - GraphicsAllocation *getHwPerfCounterAllocation(); + TagNode *getHwPerfCounterNode(); std::unique_ptr flushStamp; std::atomic taskLevel; diff --git a/runtime/helpers/timestamp_packet.cpp b/runtime/helpers/timestamp_packet.cpp index d1f8bd81c4..611d3e2234 100644 --- a/runtime/helpers/timestamp_packet.cpp +++ b/runtime/helpers/timestamp_packet.cpp @@ -23,7 +23,7 @@ void TimestampPacketContainer::add(Node *timestampPacketNode) { TimestampPacketContainer::~TimestampPacketContainer() { for (auto &node : timestampPacketNodes) { - memoryManager->getTimestampPacketAllocator()->returnTag(node); + memoryManager->peekTimestampPacketAllocator()->returnTag(node); } } @@ -36,7 +36,7 @@ void TimestampPacketContainer::resolveDependencies(bool clearAllDependencies) { for (auto &node : timestampPacketNodes) { if (node->tag->canBeReleased() || clearAllDependencies) { - memoryManager->getTimestampPacketAllocator()->returnTag(node); + memoryManager->peekTimestampPacketAllocator()->returnTag(node); } else { pendingNodes.push_back(node); } diff --git a/runtime/memory_manager/memory_manager.cpp b/runtime/memory_manager/memory_manager.cpp index 04af74bb06..c1dd54f322 100644 --- a/runtime/memory_manager/memory_manager.cpp +++ b/runtime/memory_manager/memory_manager.cpp @@ -25,8 +25,6 @@ #include namespace OCLRT { -constexpr size_t TagCount = 512; - MemoryManager::MemoryManager(bool enable64kbpages, bool enableLocalMemory, ExecutionEnvironment &executionEnvironment) : allocator32Bit(nullptr), enable64kbpages(enable64kbpages), localMemorySupported(enableLocalMemory), @@ -140,27 +138,33 @@ void MemoryManager::applyCommonCleanup() { } } -TagAllocator *MemoryManager::getEventTsAllocator() { +TagAllocator *MemoryManager::obtainEventTsAllocator(size_t poolSize) { if (profilingTimeStampAllocator.get() == nullptr) { - profilingTimeStampAllocator = std::make_unique>(this, TagCount, MemoryConstants::cacheLineSize); + profilingTimeStampAllocator = std::make_unique>(this, poolSize, MemoryConstants::cacheLineSize); } return profilingTimeStampAllocator.get(); } -TagAllocator *MemoryManager::getEventPerfCountAllocator() { +TagAllocator *MemoryManager::obtainEventPerfCountAllocator(size_t poolSize) { if (perfCounterAllocator.get() == nullptr) { - perfCounterAllocator = std::make_unique>(this, TagCount, MemoryConstants::cacheLineSize); + perfCounterAllocator = std::make_unique>(this, poolSize, MemoryConstants::cacheLineSize); } return perfCounterAllocator.get(); } -TagAllocator *MemoryManager::getTimestampPacketAllocator() { +TagAllocator *MemoryManager::obtainTimestampPacketAllocator(size_t poolSize) { if (timestampPacketAllocator.get() == nullptr) { - timestampPacketAllocator = std::make_unique>(this, TagCount, MemoryConstants::cacheLineSize); + timestampPacketAllocator = std::make_unique>(this, poolSize, MemoryConstants::cacheLineSize); } return timestampPacketAllocator.get(); } +TagAllocator *MemoryManager::peekEventTsAllocator() const { return profilingTimeStampAllocator.get(); } + +TagAllocator *MemoryManager::peekEventPerfCountAllocator() const { return perfCounterAllocator.get(); } + +TagAllocator *MemoryManager::peekTimestampPacketAllocator() const { return timestampPacketAllocator.get(); } + void MemoryManager::freeGraphicsMemory(GraphicsAllocation *gfxAllocation) { freeGraphicsMemoryImpl(gfxAllocation); } diff --git a/runtime/memory_manager/memory_manager.h b/runtime/memory_manager/memory_manager.h index 3974a68c6b..af09dbb20a 100644 --- a/runtime/memory_manager/memory_manager.h +++ b/runtime/memory_manager/memory_manager.h @@ -204,9 +204,13 @@ class MemoryManager { virtual uint64_t getInternalHeapBaseAddress() = 0; - TagAllocator *getEventTsAllocator(); - TagAllocator *getEventPerfCountAllocator(); - TagAllocator *getTimestampPacketAllocator(); + TagAllocator *obtainEventTsAllocator(size_t poolSize); + TagAllocator *obtainEventPerfCountAllocator(size_t poolSize); + MOCKABLE_VIRTUAL TagAllocator *obtainTimestampPacketAllocator(size_t poolSize); + + TagAllocator *peekEventTsAllocator() const; + TagAllocator *peekEventPerfCountAllocator() const; + TagAllocator *peekTimestampPacketAllocator() const; virtual GraphicsAllocation *createGraphicsAllocation(OsHandleStorage &handleStorage, size_t hostPtrSize, const void *hostPtr) = 0; diff --git a/unit_tests/command_stream/aub_command_stream_receiver_2_tests.cpp b/unit_tests/command_stream/aub_command_stream_receiver_2_tests.cpp index 8f0bf268b1..9609e1f6cb 100644 --- a/unit_tests/command_stream/aub_command_stream_receiver_2_tests.cpp +++ b/unit_tests/command_stream/aub_command_stream_receiver_2_tests.cpp @@ -12,6 +12,7 @@ #include "unit_tests/mocks/mock_aub_csr.h" #include "unit_tests/mocks/mock_aub_file_stream.h" #include "unit_tests/mocks/mock_aub_subcapture_manager.h" +#include "unit_tests/mocks/mock_command_queue.h" #include "unit_tests/mocks/mock_csr.h" #include "unit_tests/mocks/mock_gmm.h" #include "unit_tests/mocks/mock_kernel.h" @@ -772,3 +773,8 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCsrWhenAskedForMemoryExpectation EXPECT_EQ(compareEqual, myMockCsr.inputCompareOperation); EXPECT_EQ(compareEqual, mockStream->compareOperationFromExpectMemory); } + +HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverWhenObtainingPreferredTagPoolSizeThenReturnOne) { + auto aubCsr = std::make_unique>(**platformDevices, "", true, *pDevice->executionEnvironment); + EXPECT_EQ(1u, aubCsr->getPreferredTagPoolSize()); +} diff --git a/unit_tests/event/event_tests.cpp b/unit_tests/event/event_tests.cpp index 10f075910d..87ba7732de 100644 --- a/unit_tests/event/event_tests.cpp +++ b/unit_tests/event/event_tests.cpp @@ -14,6 +14,7 @@ #include "runtime/memory_manager/internal_allocation_storage.h" #include "runtime/memory_manager/surface.h" #include "runtime/os_interface/os_interface.h" +#include "runtime/utilities/tag_allocator.h" #include "test.h" #include "unit_tests/fixtures/image_fixture.h" #include "unit_tests/helpers/debug_manager_state_restore.h" @@ -839,9 +840,9 @@ HWTEST_F(InternalsEventWithPerfCountersTest, givenCpuProfilingPerfCountersPathWh pCmdQ->setPerfCountersEnabled(true, 1); MockEvent *event = new MockEvent(pCmdQ, CL_COMMAND_MARKER, 0, 0); event->setCPUProfilingPath(true); - HwPerfCounter *perfCounter = event->getHwPerfCounter(); + HwPerfCounter *perfCounter = event->getHwPerfCounterNode()->tag; ASSERT_NE(nullptr, perfCounter); - HwTimeStamps *timeStamps = event->getHwTimeStamp(); + HwTimeStamps *timeStamps = event->getHwTimeStampNode()->tag; ASSERT_NE(nullptr, timeStamps); auto &csr = pDevice->getCommandStreamReceiver(); @@ -1034,7 +1035,7 @@ TEST_F(EventTest, getHwTimeStampsReturnsValidPointer) { std::unique_ptr event(new Event(this->pCmdQ, CL_COMMAND_COPY_BUFFER, 0, 0)); ASSERT_NE(nullptr, event); - HwTimeStamps *timeStamps = event->getHwTimeStamp(); + HwTimeStamps *timeStamps = event->getHwTimeStampNode()->tag; ASSERT_NE(nullptr, timeStamps); //this should not cause any heap corruptions @@ -1047,7 +1048,7 @@ TEST_F(EventTest, getHwTimeStampsReturnsValidPointer) { EXPECT_TRUE(timeStamps->canBeReleased()); - HwTimeStamps *timeStamps2 = event->getHwTimeStamp(); + HwTimeStamps *timeStamps2 = event->getHwTimeStampNode()->tag; ASSERT_EQ(timeStamps, timeStamps2); } @@ -1055,7 +1056,7 @@ TEST_F(EventTest, getHwTimeStampsAllocationReturnsValidPointer) { std::unique_ptr event(new Event(this->pCmdQ, CL_COMMAND_COPY_BUFFER, 0, 0)); ASSERT_NE(nullptr, event); - GraphicsAllocation *allocation = event->getHwTimeStampAllocation(); + GraphicsAllocation *allocation = event->getHwTimeStampNode()->getGraphicsAllocation(); ASSERT_NE(nullptr, allocation); void *memoryStorage = allocation->getUnderlyingBuffer(); @@ -1069,10 +1070,10 @@ TEST_F(EventTest, hwTimeStampsMemoryIsPlacedInGraphicsAllocation) { std::unique_ptr event(new Event(this->pCmdQ, CL_COMMAND_COPY_BUFFER, 0, 0)); ASSERT_NE(nullptr, event); - HwTimeStamps *timeStamps = event->getHwTimeStamp(); + HwTimeStamps *timeStamps = event->getHwTimeStampNode()->tag; ASSERT_NE(nullptr, timeStamps); - GraphicsAllocation *allocation = event->getHwTimeStampAllocation(); + GraphicsAllocation *allocation = event->getHwTimeStampNode()->getGraphicsAllocation(); ASSERT_NE(nullptr, allocation); void *memoryStorage = allocation->getUnderlyingBuffer(); @@ -1091,7 +1092,7 @@ TEST_F(EventTest, getHwPerfCounterReturnsValidPointer) { std::unique_ptr event(new Event(this->pCmdQ, CL_COMMAND_COPY_BUFFER, 0, 0)); ASSERT_NE(nullptr, event); - HwPerfCounter *perfCounter = event->getHwPerfCounter(); + HwPerfCounter *perfCounter = event->getHwPerfCounterNode()->tag; ASSERT_NE(nullptr, perfCounter); ASSERT_EQ(0ULL, perfCounter->HWTimeStamp.GlobalStartTS); @@ -1103,7 +1104,7 @@ TEST_F(EventTest, getHwPerfCounterReturnsValidPointer) { EXPECT_TRUE(perfCounter->canBeReleased()); - HwPerfCounter *perfCounter2 = event->getHwPerfCounter(); + HwPerfCounter *perfCounter2 = event->getHwPerfCounterNode()->tag; ASSERT_EQ(perfCounter, perfCounter2); } @@ -1111,7 +1112,7 @@ TEST_F(EventTest, getHwPerfCounterAllocationReturnsValidPointer) { std::unique_ptr event(new Event(this->pCmdQ, CL_COMMAND_COPY_BUFFER, 0, 0)); ASSERT_NE(nullptr, event); - GraphicsAllocation *allocation = event->getHwPerfCounterAllocation(); + GraphicsAllocation *allocation = event->getHwPerfCounterNode()->getGraphicsAllocation(); ASSERT_NE(nullptr, allocation); void *memoryStorage = allocation->getUnderlyingBuffer(); @@ -1125,10 +1126,10 @@ TEST_F(EventTest, hwPerfCounterMemoryIsPlacedInGraphicsAllocation) { std::unique_ptr event(new Event(this->pCmdQ, CL_COMMAND_COPY_BUFFER, 0, 0)); ASSERT_NE(nullptr, event); - HwPerfCounter *perfCounter = event->getHwPerfCounter(); + HwPerfCounter *perfCounter = event->getHwPerfCounterNode()->tag; ASSERT_NE(nullptr, perfCounter); - GraphicsAllocation *allocation = event->getHwPerfCounterAllocation(); + GraphicsAllocation *allocation = event->getHwPerfCounterNode()->getGraphicsAllocation(); ASSERT_NE(nullptr, allocation); void *memoryStorage = allocation->getUnderlyingBuffer(); diff --git a/unit_tests/helpers/timestamp_packet_tests.cpp b/unit_tests/helpers/timestamp_packet_tests.cpp index 3bf25ed4a0..a013517e47 100644 --- a/unit_tests/helpers/timestamp_packet_tests.cpp +++ b/unit_tests/helpers/timestamp_packet_tests.cpp @@ -61,7 +61,7 @@ struct TimestampPacketSimpleTests : public ::testing::Test { MockTimestampPacketContainer(MemoryManager *memoryManager, size_t numberOfPreallocatedTags) : TimestampPacketContainer(memoryManager) { for (size_t i = 0; i < numberOfPreallocatedTags; i++) { - add(memoryManager->getTimestampPacketAllocator()->getTag()); + add(memoryManager->obtainTimestampPacketAllocator(3)->getTag()); } } @@ -200,6 +200,29 @@ TEST_F(TimestampPacketSimpleTests, whenAskedForStampAddressThenReturnWithValidOf } } +HWTEST_F(TimestampPacketTests, asd) { + class MyMockMemoryManager : public OsAgnosticMemoryManager { + public: + MyMockMemoryManager(ExecutionEnvironment &executionEnvironment) : OsAgnosticMemoryManager(false, false, executionEnvironment){}; + TagAllocator *obtainTimestampPacketAllocator(size_t poolSize) override { + requestedPoolSize = poolSize; + return OsAgnosticMemoryManager::obtainTimestampPacketAllocator(poolSize); + } + + size_t requestedPoolSize = 0; + }; + + auto myMockMemoryManager = new MyMockMemoryManager(executionEnvironment); + device->injectMemoryManager(myMockMemoryManager); + context->setMemoryManager(myMockMemoryManager); + + TimestampPacketContainer previousNodes(device->getMemoryManager()); + mockCmdQ->timestampPacketContainer = std::make_unique(myMockMemoryManager, 0); + mockCmdQ->obtainNewTimestampPacketNodes(1, previousNodes); + + EXPECT_EQ(device->getUltCommandStreamReceiver().getPreferredTagPoolSize(), myMockMemoryManager->requestedPoolSize); +} + HWCMDTEST_F(IGFX_GEN8_CORE, TimestampPacketTests, givenTimestampPacketWriteEnabledWhenEstimatingStreamSizeThenAddPipeControl) { MockKernelWithInternals kernel2(*device); MockMultiDispatchInfo multiDispatchInfo(std::vector({kernel->mockKernel, kernel2.mockKernel})); diff --git a/unit_tests/libult/ult_command_stream_receiver.h b/unit_tests/libult/ult_command_stream_receiver.h index 25b4d2de42..dad24467c5 100644 --- a/unit_tests/libult/ult_command_stream_receiver.h +++ b/unit_tests/libult/ult_command_stream_receiver.h @@ -85,6 +85,10 @@ class UltCommandStreamReceiver : public CommandStreamReceiverHw, publ return nullptr; } + size_t getPreferredTagPoolSize() const override { + return BaseClass::getPreferredTagPoolSize() + 1; + } + void overrideCsrSizeReqFlags(CsrSizeRequestFlags &flags) { this->csrSizeRequestFlags = flags; } GraphicsAllocation *getPreemptionCsrAllocation() { return this->preemptionCsrAllocation; } diff --git a/unit_tests/memory_manager/memory_manager_tests.cpp b/unit_tests/memory_manager/memory_manager_tests.cpp index 47befdbc38..a6983fb6a7 100644 --- a/unit_tests/memory_manager/memory_manager_tests.cpp +++ b/unit_tests/memory_manager/memory_manager_tests.cpp @@ -358,16 +358,16 @@ TEST_F(MemoryAllocatorTest, GivenPointerAndSizeWhenAskedToCreateGrahicsAllocatio } TEST_F(MemoryAllocatorTest, getEventTsAllocator) { - TagAllocator *allocator = memoryManager->getEventTsAllocator(); + TagAllocator *allocator = memoryManager->obtainEventTsAllocator(1); EXPECT_NE(nullptr, allocator); - TagAllocator *allocator2 = memoryManager->getEventTsAllocator(); + TagAllocator *allocator2 = memoryManager->obtainEventTsAllocator(1); EXPECT_EQ(allocator2, allocator); } TEST_F(MemoryAllocatorTest, getEventPerfCountAllocator) { - TagAllocator *allocator = memoryManager->getEventPerfCountAllocator(); + TagAllocator *allocator = memoryManager->obtainEventPerfCountAllocator(1); EXPECT_NE(nullptr, allocator); - TagAllocator *allocator2 = memoryManager->getEventPerfCountAllocator(); + TagAllocator *allocator2 = memoryManager->obtainEventPerfCountAllocator(1); EXPECT_EQ(allocator2, allocator); } @@ -381,11 +381,11 @@ TEST_F(MemoryAllocatorTest, givenTimestampPacketAllocatorWhenAskingForTagThenRet EXPECT_EQ(nullptr, myMockMemoryManager.timestampPacketAllocator.get()); - TagAllocator *allocator = myMockMemoryManager.getTimestampPacketAllocator(); + TagAllocator *allocator = myMockMemoryManager.obtainTimestampPacketAllocator(1); EXPECT_NE(nullptr, myMockMemoryManager.timestampPacketAllocator.get()); EXPECT_EQ(allocator, myMockMemoryManager.timestampPacketAllocator.get()); - TagAllocator *allocator2 = myMockMemoryManager.getTimestampPacketAllocator(); + TagAllocator *allocator2 = myMockMemoryManager.obtainTimestampPacketAllocator(1); EXPECT_EQ(allocator, allocator2); auto node1 = allocator->getTag(); diff --git a/unit_tests/os_interface/linux/drm_memory_manager_tests.cpp b/unit_tests/os_interface/linux/drm_memory_manager_tests.cpp index ac7f836c95..b7b646c8d2 100644 --- a/unit_tests/os_interface/linux/drm_memory_manager_tests.cpp +++ b/unit_tests/os_interface/linux/drm_memory_manager_tests.cpp @@ -680,7 +680,7 @@ TEST_F(DrmMemoryManagerTest, GivenMisalignedHostPtrAndMultiplePagesSizeWhenAsked TEST_F(DrmMemoryManagerWithExplicitExpectationsTest, testProfilingAllocatorCleanup) { MemoryManager *memMngr = memoryManager; - TagAllocator *allocator = memMngr->getEventTsAllocator(); + TagAllocator *allocator = memMngr->obtainEventTsAllocator(2); EXPECT_NE(nullptr, allocator); } diff --git a/unit_tests/os_interface/windows/wddm_memory_manager_tests.cpp b/unit_tests/os_interface/windows/wddm_memory_manager_tests.cpp index 254e3b53b3..e18f510a7e 100644 --- a/unit_tests/os_interface/windows/wddm_memory_manager_tests.cpp +++ b/unit_tests/os_interface/windows/wddm_memory_manager_tests.cpp @@ -1431,7 +1431,7 @@ TEST(WddmMemoryManagerCleanupTest, givenUsedTagAllocationInWddmMemoryManagerWhen executionEnvironment.commandStreamReceivers.push_back(std::unique_ptr(createCommandStream(*platformDevices, executionEnvironment))); executionEnvironment.memoryManager = std::make_unique(false, false, wddm.get(), executionEnvironment); EXPECT_EQ(executionEnvironment.commandStreamReceivers[0].get(), executionEnvironment.memoryManager->getCommandStreamReceiver(0)); - auto tagAllocator = executionEnvironment.memoryManager->getEventPerfCountAllocator(); + auto tagAllocator = executionEnvironment.memoryManager->obtainEventPerfCountAllocator(1); auto allocation = tagAllocator->getTag()->getGraphicsAllocation(); allocation->updateTaskCount(1, 0); executionEnvironment.commandStreamReceivers.clear(); diff --git a/unit_tests/profiling/profiling_tests.cpp b/unit_tests/profiling/profiling_tests.cpp index 4c159e04a5..7aa2b1bd5a 100644 --- a/unit_tests/profiling/profiling_tests.cpp +++ b/unit_tests/profiling/profiling_tests.cpp @@ -446,6 +446,7 @@ TEST(EventProfilingTest, givenEventWhenCompleteIsZeroThenCalcProfilingDataSetsEn EXPECT_EQ(timestamp.ContextEndTS, timestamp.ContextCompleteTS); cmdQ.device = nullptr; + event.timeStampNode = nullptr; } TEST(EventProfilingTest, givenRawTimestampsDebugModeWhenDataIsQueriedThenRawDataIsReturned) { @@ -498,6 +499,7 @@ TEST(EventProfilingTest, givenRawTimestampsDebugModeWhenDataIsQueriedThenRawData EXPECT_EQ(timestamp.ContextStartTS, start); EXPECT_EQ(event.submitTimeStamp.GPUTimeStamp, submited); EXPECT_EQ(event.queueTimeStamp.GPUTimeStamp, queued); + event.timeStampNode = nullptr; } struct ProfilingWithPerfCountersTests : public ProfilingTests,