diff options
| author | Yang Wei <[email protected]> | 2021-11-28 14:44:09 +0800 |
|---|---|---|
| committer | Yang Wei <[email protected]> | 2021-11-28 14:44:09 +0800 |
| commit | b2d4374fb415ef786984603bdd31a77165a0b491 (patch) | |
| tree | 3ce4083c3e2a42cc029eebc85ac61fcab374a178 /SOURCE | |
| parent | 5222f30832e1d1c366c692ba9eb7968c0420ebce (diff) | |
diagnose-tools: 解决3.10编译错误以及加载模块失败问题,同时修改一处笔误
Diffstat (limited to 'SOURCE')
| -rw-r--r-- | SOURCE/diagnose-tools/irq_delay.cc | 4 | ||||
| -rw-r--r-- | SOURCE/diagnose-tools/mm_leak.cc | 4 | ||||
| -rw-r--r-- | SOURCE/diagnose-tools/mutex_monitor.cc | 4 | ||||
| -rw-r--r-- | SOURCE/diagnose-tools/rss_monitor.cc | 4 | ||||
| -rw-r--r-- | SOURCE/diagnose-tools/run_trace.cc | 4 | ||||
| -rw-r--r-- | SOURCE/diagnose-tools/rw_sem.cc | 4 | ||||
| -rw-r--r-- | SOURCE/diagnose-tools/sys_delay.cc | 4 | ||||
| -rwxr-xr-x | SOURCE/module/kernel/throttle_delay.c | 4 | ||||
| -rw-r--r-- | SOURCE/module/mm/memcg_stats.c | 1 | ||||
| -rw-r--r-- | SOURCE/module/pub/trace_point.c | 16 | ||||
| -rwxr-xr-x | SOURCE/module/symbol.c | 8 |
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; |
