Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kernelshark for openSUSE:Factory checked in at 2025-08-06 14:34:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kernelshark (Old) and /work/SRC/openSUSE:Factory/.kernelshark.new.1085 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernelshark" Wed Aug 6 14:34:38 2025 rev:8 rq:1297882 version:2.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kernelshark/kernelshark.changes 2025-05-08 18:26:09.167413928 +0200 +++ /work/SRC/openSUSE:Factory/.kernelshark.new.1085/kernelshark.changes 2025-08-06 14:36:24.919904364 +0200 @@ -1,0 +2,10 @@ +Mon Aug 4 22:48:42 UTC 2025 - Eyad Issa <[email protected]> + +- Delete patch (fixed upstream): + 0001-kernelshark-fix-compiling-error-in-LatencyPlot.cpp.patch +- Update to latest upstream version (2.4.0) + * Multi-thread the computaion of stream/combo plots +- Replace "disabled" with "manual" in _service, as disabled is now + deprecated + +------------------------------------------------------------------- Old: ---- 0001-kernelshark-fix-compiling-error-in-LatencyPlot.cpp.patch kernelshark-2.3.1.obscpio New: ---- kernelshark-2.4.0.obscpio ----------(Old B)---------- Old:- Delete patch (fixed upstream): 0001-kernelshark-fix-compiling-error-in-LatencyPlot.cpp.patch - Update to latest upstream version (2.4.0) ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kernelshark.spec ++++++ --- /var/tmp/diff_new_pack.NT8Od6/_old 2025-08-06 14:36:27.360007137 +0200 +++ /var/tmp/diff_new_pack.NT8Od6/_new 2025-08-06 14:36:27.360007137 +0200 @@ -1,7 +1,7 @@ # # spec file for package kernelshark # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2025 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,14 +17,13 @@ Name: kernelshark -Version: 2.3.1 +Version: 2.4.0 Release: 0 Summary: Visualisation tool for trace-cmd data License: GPL-2.0-only AND LGPL-2.1-only Group: Development/Tools/Debuggers URL: https://git.kernel.org/pub/scm/utils/trace-cmd/kernel-shark.git Source0: kernelshark-%{version}.tar.xz -Patch01: 0001-kernelshark-fix-compiling-error-in-LatencyPlot.cpp.patch BuildRequires: bison BuildRequires: boost-devel BuildRequires: cmake ++++++ _service ++++++ --- /var/tmp/diff_new_pack.NT8Od6/_old 2025-08-06 14:36:27.392008484 +0200 +++ /var/tmp/diff_new_pack.NT8Od6/_new 2025-08-06 14:36:27.396008653 +0200 @@ -1,18 +1,17 @@ <services> - <service name="obs_scm" mode="disabled"> + <service name="obs_scm" mode="manual"> <param name="scm">git</param> <param name="url">https://git.kernel.org/pub/scm/utils/trace-cmd/kernel-shark.git</param> <param name="filename">kernelshark</param> - <param name="revision">kernelshark-v2.3.1</param> - <param name="version">v2.3.1</param> - <param name="match-tag">kernelshark-*</param> - <param name="versionrewrite-pattern">v(.*)</param> + <param name="revision">kernelshark-v2.4.0</param> + <param name="versionformat">@PARENT_TAG@</param> + <param name="versionrewrite-pattern">kernelshark-v(.*)</param> </service> <service mode="buildtime" name="tar" /> <service mode="buildtime" name="recompress"> <param name="file">*.tar</param> <param name="compression">xz</param> </service> - <service mode="disabled" name="set_version" /> + <service mode="manual" name="set_version" /> </services> ++++++ kernelshark-2.3.1.obscpio -> kernelshark-2.4.0.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kernelshark-2.3.1/.github/workflows/main.yml new/kernelshark-2.4.0/.github/workflows/main.yml --- old/kernelshark-2.3.1/.github/workflows/main.yml 2024-03-20 20:51:26.000000000 +0100 +++ new/kernelshark-2.4.0/.github/workflows/main.yml 2025-04-03 19:17:45.000000000 +0200 @@ -55,7 +55,7 @@ - name: Upload Artifacts if: ${{ always() }} - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: artifacts-download path: ${{runner.workspace}}/build/Testing/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kernelshark-2.3.1/CMakeLists.txt new/kernelshark-2.4.0/CMakeLists.txt --- old/kernelshark-2.3.1/CMakeLists.txt 2024-03-20 20:51:26.000000000 +0100 +++ new/kernelshark-2.4.0/CMakeLists.txt 2025-04-03 19:17:45.000000000 +0200 @@ -6,8 +6,8 @@ set(KS_APP_NAME "kernelshark") set(KS_VERSION_MAJOR 2) -set(KS_VERSION_MINOR 3) -set(KS_VERSION_PATCH 1) +set(KS_VERSION_MINOR 4) +set(KS_VERSION_PATCH 0) set(KS_VERSION_STRING ${KS_VERSION_MAJOR}.${KS_VERSION_MINOR}.${KS_VERSION_PATCH}) message("\n project: Kernel Shark: (version: ${KS_VERSION_STRING})\n") @@ -84,6 +84,12 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pthread -fPIC -fno-common") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pthread -fPIC -fno-common") +find_package(OpenMP 3.2.5) +if (OPENMP_FOUND) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") +endif(OPENMP_FOUND) + set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kernelshark-2.3.1/src/KsGLWidget.cpp new/kernelshark-2.4.0/src/KsGLWidget.cpp --- old/kernelshark-2.3.1/src/KsGLWidget.cpp 2024-03-20 20:51:26.000000000 +0100 +++ new/kernelshark-2.4.0/src/KsGLWidget.cpp 2025-04-03 19:17:45.000000000 +0200 @@ -13,6 +13,9 @@ #include <GL/glut.h> #include <GL/gl.h> +// OpenMP +#include <omp.h> + // KernelShark #include "libkshark-plugin.h" #include "KsGLWidget.hpp" @@ -54,6 +57,7 @@ connect(&_model, &QAbstractTableModel::modelReset, this, qOverload<>(&KsGLWidget::update)); + omp_set_num_threads(omp_get_num_procs()); } void KsGLWidget::_freeGraphs() @@ -690,23 +694,41 @@ for (auto it = _streamPlots.begin(); it != _streamPlots.end(); ++it) { sd = it.key(); + size_t nCpus = it.value()._cpuList.count(); + size_t nTasks = it.value()._taskList.count(); + QVector<KsPlot::Graph *> cpuGraphs(nCpus); + QVector<KsPlot::Graph *> taskGraphs(nTasks); + /* Create CPU graphs according to the cpuList. */ it.value()._cpuGraphs = {}; - for (auto const &cpu: it.value()._cpuList) { - g = lamAddGraph(sd, _newCPUGraph(sd, cpu), _vSpacing); + #pragma omp parallel for + for (size_t idx = 0; idx < nCpus; ++idx) { + int cpu = it.value()._cpuList[idx]; + cpuGraphs[idx] = _newCPUGraph(sd, cpu); + } + QVectorIterator<KsPlot::Graph *> itCpuGraphs(cpuGraphs); + while (itCpuGraphs.hasNext()) { + g = lamAddGraph(sd, itCpuGraphs.next(), _vSpacing); it.value()._cpuGraphs.append(g); } /* Create Task graphs according to the taskList. */ it.value()._taskGraphs = {}; - for (auto const &pid: it.value()._taskList) { - g = lamAddGraph(sd, _newTaskGraph(sd, pid), _vSpacing); + #pragma omp parallel for + for (size_t idx = 0; idx < nTasks; ++idx) { + int pid = it.value()._taskList[idx]; + taskGraphs[idx] = _newTaskGraph(sd, pid); + } + QVectorIterator<KsPlot::Graph *> itTaskGraphs(taskGraphs); + while (itTaskGraphs.hasNext()) { + g = lamAddGraph(sd, itTaskGraphs.next(), _vSpacing); it.value()._taskGraphs.append(g); } } for (auto &c: _comboPlots) { int n = c.count(); + #pragma omp parallel for for (int i = 0; i < n; ++i) { sd = c[i]._streamId; if (c[i]._type & KSHARK_TASK_DRAW) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kernelshark-2.3.1/src/KsTraceViewer.cpp new/kernelshark-2.4.0/src/KsTraceViewer.cpp --- old/kernelshark-2.3.1/src/KsTraceViewer.cpp 2024-03-20 20:51:26.000000000 +0100 +++ new/kernelshark-2.4.0/src/KsTraceViewer.cpp 2025-04-03 19:17:45.000000000 +0200 @@ -311,7 +311,7 @@ _graphFollows = (bool) state; if (_graphFollows && row != KS_NO_ROW_SELECTED) - emit select(*_it); // Send a signal to the Graph widget. + emit select(row); // Send a signal to the Graph widget. } void KsTraceViewer::_search() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kernelshark-2.3.1/src/plugins/LatencyPlot.cpp new/kernelshark-2.4.0/src/plugins/LatencyPlot.cpp --- old/kernelshark-2.3.1/src/plugins/LatencyPlot.cpp 2024-03-20 20:51:26.000000000 +0100 +++ new/kernelshark-2.4.0/src/plugins/LatencyPlot.cpp 2025-04-03 19:17:45.000000000 +0200 @@ -15,6 +15,7 @@ // C++ #include <unordered_map> #include <iostream> +#include <algorithm> // KernelShark #include "plugins/latency_plot.h" ++++++ kernelshark.obsinfo ++++++ --- /var/tmp/diff_new_pack.NT8Od6/_old 2025-08-06 14:36:27.668020109 +0200 +++ /var/tmp/diff_new_pack.NT8Od6/_new 2025-08-06 14:36:27.672020278 +0200 @@ -1,5 +1,5 @@ name: kernelshark -version: 2.3.1 -mtime: 1710964286 -commit: c2713243734f353c8cdaba07e11a3ef1bb174180 +version: 2.4.0 +mtime: 1743700665 +commit: 60ac62e57bd4bbdb7d206d30ea0280d041287792
