From 53f40f4bdd65c5adc278ef6264a7cacfdd8f9ddc Mon Sep 17 00:00:00 2001 From: fly_1997 Date: Wed, 5 Mar 2025 13:31:38 +0800 Subject: [PATCH] fix issues (cherry picked from commit f6c5fd1c997b0a246eddb00281382a37ddfad383) --- 0002-add-analysis-tlb-miss-parameter.patch | 155 ++++++++++++++++++ 0003-update-numafast-version.patch | 24 +++ ...er-add-the-display-of-running-status.patch | 130 +++++++++++++++ oeAware-manager-v2.0.2.tar.gz | Bin 96148 -> 95921 bytes oeAware-manager.spec | 9 +- 5 files changed, 317 insertions(+), 1 deletion(-) create mode 100644 0002-add-analysis-tlb-miss-parameter.patch create mode 100644 0003-update-numafast-version.patch create mode 100644 0004-InfocmdHandler-add-the-display-of-running-status.patch diff --git a/0002-add-analysis-tlb-miss-parameter.patch b/0002-add-analysis-tlb-miss-parameter.patch new file mode 100644 index 0000000..906b145 --- /dev/null +++ b/0002-add-analysis-tlb-miss-parameter.patch @@ -0,0 +1,155 @@ +From 5906dfe108fcd6ecee57c6ed508f19e59b99b81a Mon Sep 17 00:00:00 2001 +From: fly_1997 +Date: Tue, 4 Mar 2025 14:00:27 +0800 +Subject: [PATCH 1/3] add analysis tlb miss parameter + +--- + src/client/analysis/analysis_cli.cpp | 2 +- + src/client/analysis/analysis_report.cpp | 5 ++++- + src/client/analysis/analysis_report.h | 3 ++- + src/client/analysis/config.cpp | 9 ++++++++- + src/client/analysis/config.h | 14 ++++++++++++++ + 5 files changed, 29 insertions(+), 4 deletions(-) + +diff --git a/src/client/analysis/analysis_cli.cpp b/src/client/analysis/analysis_cli.cpp +index 7917517..47736a6 100644 +--- a/src/client/analysis/analysis_cli.cpp ++++ b/src/client/analysis/analysis_cli.cpp +@@ -64,7 +64,7 @@ static void PrintProgressBar(const std::string &head, float progress, int barWid + void AnalysisCli::Run() + { + auto &analysisReport = oeaware::AnalysisReport::GetInstance(); +- analysisReport.Init(std::vector{MEMORY_ANALYSIS}); ++ analysisReport.Init(std::vector{MEMORY_ANALYSIS}, config); + sleep(analysisTime); + analysisReport.AnalyzeResult(); + analysisReport.Print(); +diff --git a/src/client/analysis/analysis_report.cpp b/src/client/analysis/analysis_report.cpp +index 9e1ada8..801a81e 100644 +--- a/src/client/analysis/analysis_report.cpp ++++ b/src/client/analysis/analysis_report.cpp +@@ -13,6 +13,7 @@ + #include + #include + #include "oe_client.h" ++#include "config.h" + #include "data_register.h" + + namespace oeaware { +@@ -39,7 +40,7 @@ void AnalysisReport::UpdateTlbMiss(const TlbMiss &tempTlbMiss) + tlbMissAnalysis.Add(tempTlbMiss); + } + +-void AnalysisReport::Init(const std::vector &topics) ++void AnalysisReport::Init(const std::vector &topics, const Config &config) + { + for (auto &topic : topics) { + char *name = new char[topic.size() + 1]; +@@ -48,6 +49,8 @@ void AnalysisReport::Init(const std::vector &topics) + OeSubscribe(&cTopic, CallBack); + delete []name; + } ++ tlbMissAnalysis.threshold1 = config.GetL1MissThreshold(); ++ tlbMissAnalysis.threshold2 = config.GetL2MissThreshold(); + analysisTemplate.suggestions.Init(DEFAULT_ROW, "suggestion"); + analysisTemplate.suggestions.SetColumnWidth(DEFAULT_SUGGESTION_WIDTH); + analysisTemplate.suggestions.AddRow({"suggestion", "operation", "result"}); +diff --git a/src/client/analysis/analysis_report.h b/src/client/analysis/analysis_report.h +index d342131..984c4e6 100644 +--- a/src/client/analysis/analysis_report.h ++++ b/src/client/analysis/analysis_report.h +@@ -13,6 +13,7 @@ + #define CLIENT_ANALYSIS_REPORT_H + #include "table.h" + #include "oeaware/data/analysis_data.h" ++#include "config.h" + + namespace oeaware { + const int DEFAULT_ROW = 3; +@@ -43,7 +44,7 @@ public: + } + AnalysisReport(const AnalysisReport &) = delete; + AnalysisReport &operator=(const AnalysisReport &) = delete; +- void Init(const std::vector &topics); ++ void Init(const std::vector &topics, const Config &config); + void Print(); + void SetAnalysisTemplate(const AnalysisTemplate &data); + void UpdateMemoryData(const MemoryAnalysisData &memoryAnalysisData); +diff --git a/src/client/analysis/config.cpp b/src/client/analysis/config.cpp +index 32a3bf4..03298f2 100644 +--- a/src/client/analysis/config.cpp ++++ b/src/client/analysis/config.cpp +@@ -22,6 +22,8 @@ void Config::PrintHelp() + usage += " -r|--realtime show real time report.\n"; + usage += " -v|--verbose show verbose information.\n"; + usage += " -h|--help show this help message.\n"; ++ usage += " --l1-miss-threshold set l1 tlbmiss threshold.\n"; ++ usage += " --l2-miss-threshold set l2 tlbmiss threshold.\n"; + std::cout << usage; + } + +@@ -58,13 +60,18 @@ bool Config::Init(int argc, char **argv) + case 'v': + showVerbose = true; + break; ++ case L1_MISS_THRESHOLD: ++ l1MissThreshold = atoi(optarg); ++ break; ++ case L2_MISS_THRESHOLD: ++ l2MissThreshold = atoi(optarg); ++ break; + case 'h': + default: + PrintHelp(); + return false; + } + } +- + if (optind != argc) { + PrintHelp(); + return false; +diff --git a/src/client/analysis/config.h b/src/client/analysis/config.h +index e1a0ff2..2a89f90 100644 +--- a/src/client/analysis/config.h ++++ b/src/client/analysis/config.h +@@ -18,6 +18,8 @@ + #include + #include + ++const int L1_MISS_THRESHOLD = 200; ++const int L2_MISS_THRESHOLD = 201; + + class Config { + public: +@@ -34,16 +36,28 @@ public: + { + return showVerbose; + } ++ int GetL1MissThreshold() const ++ { ++ return l1MissThreshold; ++ } ++ int GetL2MissThreshold() const ++ { ++ return l2MissThreshold; ++ } + private: + const int minAnalyzeTime = 1; + const int maxAnalyzeTime = 100; + int analysisTime = 30; // default 30s ++ int l1MissThreshold = 5; ++ int l2MissThreshold = 10; + const std::string shortOptions = "t:hrv"; + const std::vector