From 1d28f43a836539b16257321b385b5e6128241fc7 Mon Sep 17 00:00:00 2001 From: Denshooter Date: Tue, 1 Aug 2023 10:15:34 +0200 Subject: [PATCH] fixed fail in the tasking profiler --- src/mx/tasking/profiling/tasking_profiler.cpp | 2 +- src/mx/tasking/worker.cpp | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/mx/tasking/profiling/tasking_profiler.cpp b/src/mx/tasking/profiling/tasking_profiler.cpp index b463069..af245ab 100644 --- a/src/mx/tasking/profiling/tasking_profiler.cpp +++ b/src/mx/tasking/profiling/tasking_profiler.cpp @@ -201,7 +201,7 @@ void TaskingProfiler::saveProfile() for(std::uint16_t cpu_id = 0; cpu_id < total_cores; cpu_id++) { //Metadata Events for each core (CPU instead of process as name,...) - Genode::log("{\"name\":\"process_name\",\"ph\":\"M\",\"pid\":", cpu_id, ",\"args\":{\"name\":\"CPU\"}},"); + Genode::log("{\"name\":\"process_name\",\"ph\":\"M\",\"pid\":", cpu_id, ",\"tid\":", cpu_id, ",\"args\":{\"name\":\"CPU\"}},"); Genode::log("{\"name\":\"process_sort_index\",\"ph\":\"M\",\"pid\":", cpu_id, ",\"tid\":", cpu_id, ",\"args\":{\"name\":", cpu_id, "}},"); if (mx::tasking::config::use_task_queue_length()){ diff --git a/src/mx/tasking/worker.cpp b/src/mx/tasking/worker.cpp index b88460c..b54f493 100644 --- a/src/mx/tasking/worker.cpp +++ b/src/mx/tasking/worker.cpp @@ -105,7 +105,7 @@ void Worker::execute() { case synchronization::primitive::ScheduleWriter: if constexpr (config::use_tasking_profiler()){ - task_id_profiler = TaskingProfiler::getInstance().startTask(core_id, 0, typeid(*task).name()); + task_id_profiler = TaskingProfiler::getInstance().startTask(channel_id, 0, typeid(*task).name()); result = this->execute_optimistic(core_id, channel_id, task); TaskingProfiler::getInstance().endTask(channel_id, task_id_profiler); } @@ -115,7 +115,7 @@ void Worker::execute() break; case synchronization::primitive::OLFIT: if constexpr (config::use_tasking_profiler()){ - task_id_profiler = TaskingProfiler::getInstance().startTask(core_id, 0, typeid(*task).name()); + task_id_profiler = TaskingProfiler::getInstance().startTask(channel_id, 0, typeid(*task).name()); result = this->execute_olfit(core_id, channel_id, task); TaskingProfiler::getInstance().endTask(channel_id, task_id_profiler); } @@ -126,7 +126,7 @@ void Worker::execute() case synchronization::primitive::ScheduleAll: case synchronization::primitive::None: if constexpr (config::use_tasking_profiler()){ - task_id_profiler = TaskingProfiler::getInstance().startTask(core_id, 0, typeid(*task).name()); + task_id_profiler = TaskingProfiler::getInstance().startTask(channel_id, 0, typeid(*task).name()); result = task->execute(core_id, channel_id); TaskingProfiler::getInstance().endTask(channel_id, task_id_profiler); } @@ -136,7 +136,7 @@ void Worker::execute() break; case synchronization::primitive::ReaderWriterLatch: if constexpr (config::use_tasking_profiler()){ - task_id_profiler = TaskingProfiler::getInstance().startTask(core_id, 0, typeid(*task).name()); + task_id_profiler = TaskingProfiler::getInstance().startTask(channel_id, 0, typeid(*task).name()); result = Worker::execute_reader_writer_latched(core_id, channel_id, task); TaskingProfiler::getInstance().endTask(channel_id, task_id_profiler); } @@ -146,7 +146,8 @@ void Worker::execute() break; case synchronization::primitive::ExclusiveLatch: if constexpr (config::use_tasking_profiler()){ - task_id_profiler = TaskingProfiler::getInstance().startTask(core_id, 0, typeid(*task).name()); + task_id_profiler = TaskingProfiler::getInstance().startTask(channel_id, 0, typeid(*task).name()); + Genode::log("Core ", core_id, " Channel ", channel_id, " ScheduleWriter"); result = Worker::execute_exclusive_latched(core_id, channel_id, task); TaskingProfiler::getInstance().endTask(channel_id, task_id_profiler); }