diff options
| author | Wen Yang <[email protected]> | 2021-11-13 23:08:10 +0800 |
|---|---|---|
| committer | Wen Yang <[email protected]> | 2021-11-13 23:08:10 +0800 |
| commit | 35715d429531f6286e596efd89f6ceef03daceb9 (patch) | |
| tree | f06e59f388b88bf9b995eb0321acc197eeed4d2a /SOURCE | |
| parent | 19c8cbdf483bb14b4dae02cee41bc657bf98909c (diff) | |
diagnost-tools: 适配kernel 5.10 + glibc 2.32
Diffstat (limited to 'SOURCE')
| -rw-r--r-- | SOURCE/diagnose-tools/Makefile | 2 | ||||
| -rwxr-xr-x | SOURCE/module/kernel/load.c | 2 | ||||
| -rw-r--r-- | SOURCE/module/mm/memcg_stats.c | 8 | ||||
| -rwxr-xr-x | SOURCE/module/stub.c | 10 | ||||
| -rw-r--r-- | SOURCE/uapi/load_monitor.h | 2 |
5 files changed, 20 insertions, 4 deletions
diff --git a/SOURCE/diagnose-tools/Makefile b/SOURCE/diagnose-tools/Makefile index 0b0c9f3..f2cf955 100644 --- a/SOURCE/diagnose-tools/Makefile +++ b/SOURCE/diagnose-tools/Makefile @@ -3,7 +3,7 @@ VENDER_LDFLAGS ?= -L../../deps/lib arch=$(shell uname -i) ifeq ($(arch),x86_64) -LDFLAGS = $(VENDER_LDFLAGS) -static-libgcc -static-libstdc++ -lgcc_eh -lunwind-x86_64 -lunwind -lelf \ +LDFLAGS = $(VENDER_LDFLAGS) -static-libgcc -static-libstdc++ -lgcc_eh -lunwind-x86_64 -lunwind -lelf -llzma \ -L`pwd` -L/usr/lib64 -I./ -lz \ -lssh2 -ldl -lpthread -Wl,-allow-multiple-definition else diff --git a/SOURCE/module/kernel/load.c b/SOURCE/module/kernel/load.c index 09f4f42..ce34668 100755 --- a/SOURCE/module/kernel/load.c +++ b/SOURCE/module/kernel/load.c @@ -96,7 +96,7 @@ static void load_monitor_ipi(void *ignore) cpu_run->id = get_cycles(); cpu_run->et_type = et_load_monitor_cpu_run; cpu_run->cpu = cpu; - do_gettimeofday(&cpu_run->tv); + do_diag_gettimeofday(&cpu_run->tv); diag_task_brief(tsk, &cpu_run->task); diag_task_kern_stack(tsk, &cpu_run->kern_stack); diff --git a/SOURCE/module/mm/memcg_stats.c b/SOURCE/module/mm/memcg_stats.c index d1358b6..dc00824 100644 --- a/SOURCE/module/mm/memcg_stats.c +++ b/SOURCE/module/mm/memcg_stats.c @@ -8,14 +8,19 @@ #include <linux/slab.h> #include <linux/kprobes.h> #include <linux/kallsyms.h> -#include <linux/page_counter.h> #include <linux/kernfs.h> +#include <linux/version.h> +#if KERNEL_VERSION(4, 9, 0) <= LINUX_VERSION_CODE +#include <linux/kernfs.h> +#endif #include <asm/delay.h> #include "uapi/ali_diagnose.h" #include "uapi/memcg_stats.h" #include "pub/variant_buffer.h" #include "internal.h" +#if LINUX_VERSION_CODE > KERNEL_VERSION(4, 9, 0) + static struct mem_cgroup * (*orig_mem_cgroup_iter)(struct mem_cgroup *, struct mem_cgroup *, struct mem_cgroup_reclaim_cookie *) = NULL; @@ -406,3 +411,4 @@ void diag_memcg_stats_exit(void) destroy_diag_variant_buffer(&memcg_stats_variant_buffer); } +#endif diff --git a/SOURCE/module/stub.c b/SOURCE/module/stub.c index 04b94b7..8d979f8 100755 --- a/SOURCE/module/stub.c +++ b/SOURCE/module/stub.c @@ -1237,3 +1237,13 @@ int __weak memcg_stats_syscall(struct pt_regs *regs, long id) { return -ENOSYS; } + +int __weak activate_memcg_stats(void) +{ + return -EINVAL; +} + +int __weak deactivate_memcg_stats(void) +{ + return -EINVAL; +} diff --git a/SOURCE/uapi/load_monitor.h b/SOURCE/uapi/load_monitor.h index f4f91e9..4dc0fcf 100644 --- a/SOURCE/uapi/load_monitor.h +++ b/SOURCE/uapi/load_monitor.h @@ -47,7 +47,7 @@ struct load_monitor_cpu_run { int et_type; unsigned long id; unsigned long cpu; - struct timeval tv; + struct diag_timespec tv; struct diag_task_detail task; struct diag_kern_stack_detail kern_stack; struct diag_user_stack_detail user_stack; |
