From b76726c597babc8f4dc8e658c149941aa97d44fc Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Sun, 26 Jul 2020 14:15:16 +0200 Subject: [PATCH] No need for lean callstack, callstack memory messages. --- client/TracyProfiler.cpp | 15 ++++----------- client/TracyProfiler.hpp | 4 ++-- common/TracyQueue.hpp | 18 ++++-------------- server/TracyWorker.cpp | 4 ++-- 4 files changed, 12 insertions(+), 29 deletions(-) diff --git a/client/TracyProfiler.cpp b/client/TracyProfiler.cpp index ee3451ff..bdf0aeeb 100644 --- a/client/TracyProfiler.cpp +++ b/client/TracyProfiler.cpp @@ -1732,11 +1732,8 @@ static void FreeAssociatedMemory( const QueueItem& item ) tracy_free( (void*)ptr ); break; case QueueType::CallstackMemory: - ptr = MemRead( &item.callstackMemory.ptr ); - tracy_free( (void*)ptr ); - break; case QueueType::Callstack: - ptr = MemRead( &item.callstack.ptr ); + ptr = MemRead( &item.callstackFat.ptr ); tracy_free( (void*)ptr ); break; case QueueType::CallstackAlloc: @@ -1878,11 +1875,9 @@ Profiler::DequeueStatus Profiler::Dequeue( moodycamel::ConsumerToken& token ) break; } case QueueType::Callstack: - ptr = MemRead( &item->callstack.ptr ); + ptr = MemRead( &item->callstackFat.ptr ); SendCallstackPayload( ptr ); tracy_free( (void*)ptr ); - idx++; - MemWrite( &item->hdr.idx, idx ); break; case QueueType::CallstackAlloc: ptr = MemRead( &item->callstackAlloc.nativePtr ); @@ -2107,11 +2102,9 @@ Profiler::DequeueStatus Profiler::DequeueSerial() switch( (QueueType)idx ) { case QueueType::CallstackMemory: - ptr = MemRead( &item->callstackMemory.ptr ); + ptr = MemRead( &item->callstackFat.ptr ); SendCallstackPayload( ptr ); tracy_free( (void*)ptr ); - idx++; - MemWrite( &item->hdr.idx, idx ); break; case QueueType::LockWait: case QueueType::LockSharedWait: @@ -2818,7 +2811,7 @@ void Profiler::SendCallstack( int depth, const char* skipBefore ) CutCallstack( ptr, skipBefore ); TracyLfqPrepare( QueueType::Callstack ); - MemWrite( &item->callstack.ptr, (uint64_t)ptr ); + MemWrite( &item->callstackFat.ptr, (uint64_t)ptr ); TracyLfqCommit; #endif } diff --git a/client/TracyProfiler.hpp b/client/TracyProfiler.hpp index d617cea9..465946b2 100644 --- a/client/TracyProfiler.hpp +++ b/client/TracyProfiler.hpp @@ -435,7 +435,7 @@ public: #ifdef TRACY_HAS_CALLSTACK auto ptr = Callstack( depth ); TracyLfqPrepare( QueueType::Callstack ); - MemWrite( &item->callstack.ptr, (uint64_t)ptr ); + MemWrite( &item->callstackFat.ptr, (uint64_t)ptr ); TracyLfqCommit; #endif } @@ -602,7 +602,7 @@ private: #ifdef TRACY_HAS_CALLSTACK auto item = GetProfiler().m_serialQueue.prepare_next(); MemWrite( &item->hdr.type, QueueType::CallstackMemory ); - MemWrite( &item->callstackMemory.ptr, (uint64_t)ptr ); + MemWrite( &item->callstackFat.ptr, (uint64_t)ptr ); GetProfiler().m_serialQueue.commit_next(); #endif } diff --git a/common/TracyQueue.hpp b/common/TracyQueue.hpp index e9ac5c6c..96555eee 100644 --- a/common/TracyQueue.hpp +++ b/common/TracyQueue.hpp @@ -20,9 +20,7 @@ enum class QueueType : uint8_t ZoneBeginAllocSrcLocCallstack, ZoneBeginAllocSrcLocCallstackLean, CallstackMemory, - CallstackMemoryLean, Callstack, - CallstackLean, CallstackAlloc, CallstackAllocLean, CallstackSample, @@ -358,12 +356,7 @@ struct QueueMemFree uint64_t ptr; }; -struct QueueCallstackMemory -{ - uint64_t ptr; -}; - -struct QueueCallstack +struct QueueCallstackFat { uint64_t ptr; }; @@ -520,8 +513,7 @@ struct QueueItem QueueGpuCalibration gpuCalibration; QueueMemAlloc memAlloc; QueueMemFree memFree; - QueueCallstackMemory callstackMemory; - QueueCallstack callstack; + QueueCallstackFat callstackFat; QueueCallstackAlloc callstackAlloc; QueueCallstackSample callstackSample; QueueCallstackSampleLean callstackSampleLean; @@ -556,10 +548,8 @@ static constexpr size_t QueueDataSize[] = { sizeof( QueueHeader ) + sizeof( QueueZoneBeginLean ), // lean allocated source location sizeof( QueueHeader ) + sizeof( QueueZoneBegin ), // allocated source location, callstack, not for network transfer sizeof( QueueHeader ) + sizeof( QueueZoneBeginLean ), // lean allocated source location, callstack - sizeof( QueueHeader ) + sizeof( QueueCallstackMemory ), // not for network transfer - sizeof( QueueHeader ), // lean callstack memory - sizeof( QueueHeader ) + sizeof( QueueCallstack ), // not for network transfer - sizeof( QueueHeader ), // lean callstack + sizeof( QueueHeader ), // callstack memory + sizeof( QueueHeader ), // callstack sizeof( QueueHeader ) + sizeof( QueueCallstackAlloc ), // not for network transfer sizeof( QueueHeader ), // lean callstack alloc sizeof( QueueHeader ) + sizeof( QueueCallstackSample ), // not for network transfer diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 45685092..2cce15d2 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -4023,10 +4023,10 @@ bool Worker::Process( const QueueItem& ev ) case QueueType::MemFreeCallstack: ProcessMemFreeCallstack( ev.memFree ); break; - case QueueType::CallstackMemoryLean: + case QueueType::CallstackMemory: ProcessCallstackMemory(); break; - case QueueType::CallstackLean: + case QueueType::Callstack: ProcessCallstack(); break; case QueueType::CallstackAllocLean: