summaryrefslogtreecommitdiff
path: root/SOURCE
diff options
context:
space:
mode:
authorYang Wei <[email protected]>2021-11-28 14:44:09 +0800
committerYang Wei <[email protected]>2021-11-28 14:44:09 +0800
commitb2d4374fb415ef786984603bdd31a77165a0b491 (patch)
tree3ce4083c3e2a42cc029eebc85ac61fcab374a178 /SOURCE
parent5222f30832e1d1c366c692ba9eb7968c0420ebce (diff)
diagnose-tools: 解决3.10编译错误以及加载模块失败问题,同时修改一处笔误
Diffstat (limited to 'SOURCE')
-rw-r--r--SOURCE/diagnose-tools/irq_delay.cc4
-rw-r--r--SOURCE/diagnose-tools/mm_leak.cc4
-rw-r--r--SOURCE/diagnose-tools/mutex_monitor.cc4
-rw-r--r--SOURCE/diagnose-tools/rss_monitor.cc4
-rw-r--r--SOURCE/diagnose-tools/run_trace.cc4
-rw-r--r--SOURCE/diagnose-tools/rw_sem.cc4
-rw-r--r--SOURCE/diagnose-tools/sys_delay.cc4
-rwxr-xr-xSOURCE/module/kernel/throttle_delay.c4
-rw-r--r--SOURCE/module/mm/memcg_stats.c1
-rw-r--r--SOURCE/module/pub/trace_point.c16
-rwxr-xr-xSOURCE/module/symbol.c8
11 files changed, 38 insertions, 19 deletions
diff --git a/SOURCE/diagnose-tools/irq_delay.cc b/SOURCE/diagnose-tools/irq_delay.cc
index 0a3d2ea..d118d54 100644
--- a/SOURCE/diagnose-tools/irq_delay.cc
+++ b/SOURCE/diagnose-tools/irq_delay.cc
@@ -70,7 +70,7 @@ static void do_activate(const char *arg)
}
printf("功能设置%s,返回值:%d\n", ret ? "失败" : "成功", ret);
- printf(" 阀值(ms):\t%d\n", settings.threshold);
+ printf(" 阈值(ms):\t%d\n", settings.threshold);
printf(" 输出级别:\t%d\n", settings.verbose);
if (ret)
return;
@@ -136,7 +136,7 @@ static void do_settings(const char *arg)
if (ret == 0) {
printf("功能设置:\n");
printf(" 是否激活:%s\n", settings.activated ? "√" : "×");
- printf(" 阀值(ms):%d\n", settings.threshold);
+ printf(" 阈值(ms):%d\n", settings.threshold);
printf(" 输出级别:%d\n", settings.verbose);
} else {
printf("获取irq-delay设置失败,请确保正确安装了diagnose-tools工具\n");
diff --git a/SOURCE/diagnose-tools/mm_leak.cc b/SOURCE/diagnose-tools/mm_leak.cc
index 8feecd8..8a1a44e 100644
--- a/SOURCE/diagnose-tools/mm_leak.cc
+++ b/SOURCE/diagnose-tools/mm_leak.cc
@@ -60,7 +60,7 @@ static void do_activate(const char *arg)
}
printf("功能设置%s,返回值:%d\n", ret ? "失败" : "成功", ret);
- printf(" 阀值(s):%lu\n", settings.time_threshold);
+ printf(" 阈值(s):%lu\n", settings.time_threshold);
printf(" 输出级别:%d\n", settings.verbose);
printf(" MAX-BYTES:%d\n", settings.max_bytes);
printf(" MIN-BYTES:%d\n", settings.min_bytes);
@@ -175,7 +175,7 @@ static void do_settings(void)
printf("功能设置:\n");
printf(" 是否激活:%s\n", settings.activated ? "√" : "×");
printf(" 输出级别:%d\n", settings.verbose);
- printf(" 阀值(s):%lu\n", settings.time_threshold);
+ printf(" 阈值(s):%lu\n", settings.time_threshold);
printf(" MAX-BYTES:%d\n", settings.max_bytes);
printf(" MIN-BYTES:%d\n", settings.min_bytes);
} else {
diff --git a/SOURCE/diagnose-tools/mutex_monitor.cc b/SOURCE/diagnose-tools/mutex_monitor.cc
index aac3ce2..b5dbe9c 100644
--- a/SOURCE/diagnose-tools/mutex_monitor.cc
+++ b/SOURCE/diagnose-tools/mutex_monitor.cc
@@ -67,7 +67,7 @@ static void do_activate(const char *arg)
}
printf("功能设置%s,返回值:%d\n", ret ? "失败" : "成功", ret);
- printf(" 阀值(ms):\t%d\n", settings.threshold);
+ printf(" 阈值(ms):\t%d\n", settings.threshold);
printf(" 输出级别:\t%d\n", settings.verbose);
printf(" STYLE:\t%d\n", settings.style);
@@ -136,7 +136,7 @@ static void do_settings(const char *arg)
if (ret == 0) {
printf("功能设置:\n");
printf(" 是否激活:\t%s\n", settings.activated ? "√" : "×");
- printf(" 阀值(ms):\t%d\n", settings.threshold);
+ printf(" 阈值(ms):\t%d\n", settings.threshold);
printf(" 输出级别:\t%d\n", settings.verbose);
printf(" STYLE:\t%d\n", settings.style);
} else {
diff --git a/SOURCE/diagnose-tools/rss_monitor.cc b/SOURCE/diagnose-tools/rss_monitor.cc
index d915c84..82a0eea 100644
--- a/SOURCE/diagnose-tools/rss_monitor.cc
+++ b/SOURCE/diagnose-tools/rss_monitor.cc
@@ -74,7 +74,7 @@ static void do_activate(const char *arg)
printf("功能设置%s, 返回值:%d\n", ret ? "失败":"成功", ret);
printf(" 进程ID:\t%d\n", settings.tgid);
printf(" 线程ID:\t%d\n", settings.pid);
- printf(" 阀值(s):\t%lu\n", settings.time_threshold);
+ printf(" 阈值(s):\t%lu\n", settings.time_threshold);
printf(" RAW-STACK:\t%lu\n", settings.raw_stack);
printf(" 输出级别:\t%d\n", settings.verbose);
@@ -149,7 +149,7 @@ static void do_settings(const char *arg)
printf(" 是否激活:%s\n", settings.activated ? "√" : "×");
printf(" 进程ID:%d\n", settings.tgid);
printf(" 线程ID:%d\n", settings.pid);
- printf(" 阀值(s):%lu\n", settings.time_threshold);
+ printf(" 阈值(s):%lu\n", settings.time_threshold);
printf(" RAW-STACK:%lu\n", settings.raw_stack);
printf(" 输出级别:%d\n", settings.verbose);
} else {
diff --git a/SOURCE/diagnose-tools/run_trace.cc b/SOURCE/diagnose-tools/run_trace.cc
index 9ea7dcc..65f252e 100644
--- a/SOURCE/diagnose-tools/run_trace.cc
+++ b/SOURCE/diagnose-tools/run_trace.cc
@@ -93,7 +93,7 @@ static void do_activate(const char *arg)
}
printf("功能设置%s,返回值:%d\n", ret ? "失败" : "成功", ret);
- printf(" 阀值(us):%d\n", settings.threshold_us);
+ printf(" 阈值(us):%d\n", settings.threshold_us);
printf(" 输出级别:%d\n", settings.verbose);
printf(" TIMER_US:%d\n", settings.timer_us);
printf(" BUF-SIZE-K:%d\n", settings.buf_size_k);
@@ -142,7 +142,7 @@ static void do_settings(const char *arg)
{
printf("功能设置:\n");
printf(" 是否激活:%s\n", settings.activated ? "√" : "×");
- printf(" 阀值(us):%d\n", settings.threshold_us);
+ printf(" 阈值(us):%d\n", settings.threshold_us);
printf(" 输出级别:%d\n", settings.verbose);
printf(" TIMER_US:%d\n", settings.timer_us);
printf(" 线程监控项:%d\n", settings.threads_count);
diff --git a/SOURCE/diagnose-tools/rw_sem.cc b/SOURCE/diagnose-tools/rw_sem.cc
index 0f0aa2f..994b088 100644
--- a/SOURCE/diagnose-tools/rw_sem.cc
+++ b/SOURCE/diagnose-tools/rw_sem.cc
@@ -67,7 +67,7 @@ static void do_activate(const char *arg)
}
printf("功能设置%s,返回值:%d\n", ret ? "失败" : "成功", ret);
- printf(" 阀值(ms):\t%d \n", settings.threshold);
+ printf(" 阈值(ms):\t%d \n", settings.threshold);
printf(" 输出级别:\t%d\n", settings.verbose);
printf(" STYLE:\t%d\n", settings.style);
@@ -136,7 +136,7 @@ static void do_settings(const char *arg)
if (ret == 0) {
printf("功能设置:\n");
printf(" 是否激活:\t%s\n", settings.activated ? "√" : "×");
- printf(" 阀值(ms):\t%d\n",settings.threshold);
+ printf(" 阈值(ms):\t%d\n",settings.threshold);
printf(" 输出级别:\t%d\n", settings.verbose);
printf(" STYLE:\t%d\n", settings.style);
} else {
diff --git a/SOURCE/diagnose-tools/sys_delay.cc b/SOURCE/diagnose-tools/sys_delay.cc
index b03e327..3c1be66 100644
--- a/SOURCE/diagnose-tools/sys_delay.cc
+++ b/SOURCE/diagnose-tools/sys_delay.cc
@@ -86,7 +86,7 @@ static void do_activate(const char *arg)
goto err;
}
printf("功能设置%s,返回值:%d\n", ret ? "失败" : "成功", ret);
- printf(" 阀值(ms):\t%d\n", settings.threshold_ms);
+ printf(" 阈值(ms):\t%d\n", settings.threshold_ms);
printf(" 输出级别:\t%d\n", settings.verbose);
printf(" STYLE:\t%d\n", settings.style);
@@ -172,7 +172,7 @@ static void do_settings(const char *arg)
if (ret == 0) {
printf("功能设置:\n");
printf(" 是否激活:\t%s\n", settings.activated ? "√" : "×");
- printf(" 阀值(ms):\t%d\n", settings.threshold_ms);
+ printf(" 阈值(ms):\t%d\n", settings.threshold_ms);
printf(" 输出级别:\t%d\n", settings.verbose);
printf(" STYLE:\t%d\n", settings.style);
} else {
diff --git a/SOURCE/module/kernel/throttle_delay.c b/SOURCE/module/kernel/throttle_delay.c
index d3ddef2..1b4dc3a 100755
--- a/SOURCE/module/kernel/throttle_delay.c
+++ b/SOURCE/module/kernel/throttle_delay.c
@@ -46,7 +46,7 @@
#include "uapi/throttle_delay.h"
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32) && \
+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 10, 0) && \
LINUX_VERSION_CODE <= KERNEL_VERSION(4, 20, 0) \
&& !defined(UBUNTU_1604)
@@ -476,7 +476,7 @@ struct rq {
#ifdef CONFIG_SCHED_HRTICK
#ifdef CONFIG_SMP
int hrtick_csd_pending;
- struct call_single_data hrtick_csd;
+ //struct call_single_data hrtick_csd;
#endif
struct hrtimer hrtick_timer;
#endif
diff --git a/SOURCE/module/mm/memcg_stats.c b/SOURCE/module/mm/memcg_stats.c
index 17b5bf8..406cebc 100644
--- a/SOURCE/module/mm/memcg_stats.c
+++ b/SOURCE/module/mm/memcg_stats.c
@@ -8,7 +8,6 @@
#include <linux/slab.h>
#include <linux/kprobes.h>
#include <linux/kallsyms.h>
-#include <linux/kernfs.h>
#include <linux/version.h>
#include <linux/mount.h>
#if KERNEL_VERSION(4, 9, 0) <= LINUX_VERSION_CODE
diff --git a/SOURCE/module/pub/trace_point.c b/SOURCE/module/pub/trace_point.c
index a87a060..ee77633 100644
--- a/SOURCE/module/pub/trace_point.c
+++ b/SOURCE/module/pub/trace_point.c
@@ -18,7 +18,11 @@
#include <linux/rculist.h>
#include <linux/module.h>
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 15, 0)
+extern struct mutex *orig_tracepoints_mutex;
+#else
extern struct mutex *orig_tracepoint_module_list_mutex;
+#endif
extern struct list_head *orig_tracepoint_module_list;
#include "pub/trace_point.h"
@@ -188,10 +192,14 @@ static void for_each_moudule_trace_point(
void (*fct)(struct tracepoint *tp, void *priv),
void *priv)
{
- struct tp_module *tp_mod;
- struct module *mod;
+ struct tp_module *tp_mod;
+ struct module *mod;
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 15, 0)
+ mutex_lock(orig_tracepoints_mutex);
+#else
mutex_lock(orig_tracepoint_module_list_mutex);
+#endif
list_for_each_entry(tp_mod, orig_tracepoint_module_list, list) {
mod = tp_mod->mod;
@@ -201,7 +209,11 @@ static void for_each_moudule_trace_point(
}
}
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 15, 0)
+ mutex_unlock(orig_tracepoints_mutex);
+#else
mutex_unlock(orig_tracepoint_module_list_mutex);
+#endif
}
static struct tracepoint *find_tracepoint(const char *name)
diff --git a/SOURCE/module/symbol.c b/SOURCE/module/symbol.c
index 7e929e4..84880e5 100755
--- a/SOURCE/module/symbol.c
+++ b/SOURCE/module/symbol.c
@@ -20,7 +20,11 @@
struct mutex *orig_text_mutex;
rwlock_t *orig_tasklist_lock;
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 15, 0)
+struct mutex *orig_tracepoints_mutex;
+#else
struct mutex *orig_tracepoint_module_list_mutex;
+#endif
struct list_head *orig_tracepoint_module_list;
#if defined(DIAG_ARM64)
@@ -208,7 +212,11 @@ int alidiagnose_symbols_init(void)
LOOKUP_SYMS(__show_regs);
LOOKUP_SYMS(ptype_all);
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 15, 0)
+ LOOKUP_SYMS(tracepoints_mutex);
+#else
LOOKUP_SYMS(tracepoint_module_list_mutex);
+#endif
LOOKUP_SYMS(tracepoint_module_list);
return 0;