monitor_user: tgid -> tid
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
|
||||
#define MAX_TIMER_NUM (128) // max timer number
|
||||
#define TIMER_MAX_WATCH_NUM (32) // A timer max watch number at once time
|
||||
#define MAX_NAME_LEN (127) // max name length
|
||||
#define MAX_NAME_LEN (127) // max name length
|
||||
|
||||
typedef struct {
|
||||
pid_t task_id; // current process id
|
||||
@@ -11,9 +11,9 @@ typedef struct {
|
||||
void *ptr; // virtual address
|
||||
int length_byte; // byte
|
||||
long long threshold; // threshold value
|
||||
unsigned char is_unsigned; // unsigned flag (true: unsigned, false: signed)
|
||||
unsigned char above_threshold; // reverse flag (true: >, false: <)
|
||||
unsigned long time_ns; // timer interval (ns)
|
||||
unsigned char is_unsigned; // unsigned flag (true: unsigned, false: signed)
|
||||
unsigned char above_threshold; // reverse flag (true: >, false: <)
|
||||
unsigned long time_ns; // timer interval (ns)
|
||||
} watch_arg;
|
||||
|
||||
typedef struct {
|
||||
@@ -23,9 +23,9 @@ typedef struct {
|
||||
void *kptr; // kernel address + offset
|
||||
int length_byte; // byte
|
||||
long long threshold; // threshold value
|
||||
long long true_value; // target true value | available after reach threshold
|
||||
long long true_value; // target true value | available after reach threshold
|
||||
unsigned char is_unsigned; // unsigned flag (true: unsigned, false: signed)
|
||||
unsigned char above_threshold; // reverse flag (true: >, false: <)
|
||||
unsigned char above_threshold; // reverse flag (true: >, false: <)
|
||||
} kernel_watch_arg;
|
||||
|
||||
typedef struct {
|
||||
@@ -34,18 +34,20 @@ typedef struct {
|
||||
ktime_t kt; // hrTimer time
|
||||
unsigned sentinel; // sentinel
|
||||
kernel_watch_arg
|
||||
k_watch_args[TIMER_MAX_WATCH_NUM]; // all watched kernel_watch_arg
|
||||
int threshold_over_count; // all over threshold number,
|
||||
// 0 means no handle needed
|
||||
k_watch_args[TIMER_MAX_WATCH_NUM]; // all watched kernel_watch_arg
|
||||
int threshold_over_count; // all over threshold number,
|
||||
// 0 means no handle needed
|
||||
int threshold_buffer[TIMER_MAX_WATCH_NUM]; //
|
||||
struct work_struct wk; // for handle
|
||||
unsigned long long tv; // time
|
||||
struct task_struct *task; // task pointer
|
||||
// one timer one task(process)
|
||||
} kernel_watch_timer;
|
||||
|
||||
// Global variable
|
||||
extern kernel_watch_timer
|
||||
kernel_wtimer_list[MAX_TIMER_NUM]; // all kernel_watch_timer
|
||||
extern volatile int kernel_wtimer_num; // current kernel_watch_timer number
|
||||
extern volatile int kernel_wtimer_num; // current kernel_watch_timer number
|
||||
|
||||
// EXPORT_SYMBOL(kernel_wtimer_list); // export kernel_watch_timer_list
|
||||
// EXPORT_SYMBOL(kernel_wtimer_num); // export kernel_watch_timer_num
|
||||
@@ -62,7 +64,8 @@ unsigned char timer_add_watch(kernel_watch_timer *timer,
|
||||
kernel_watch_arg k_watch_arg);
|
||||
unsigned char timer_del_watch_by_pid(kernel_watch_timer *timer, pid_t pid);
|
||||
|
||||
extern enum hrtimer_restart check_variable_cb(struct hrtimer *timer); // callback
|
||||
extern enum hrtimer_restart
|
||||
check_variable_cb(struct hrtimer *timer); // callback
|
||||
void start_all_hrTimer(void);
|
||||
void cancel_all_hrTimer(void);
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#define MAX_NAME_LEN (127) // max name length
|
||||
#define gettid() (unsigned long)syscall(SYS_gettid)
|
||||
|
||||
typedef struct {
|
||||
pid_t task_id; // current process id
|
||||
|
||||
Reference in New Issue
Block a user