@@ -57,9 +57,6 @@ int uprobe_omp_parallel(struct pt_regs *ctx) {
5757 void * data = (void * )PT_REGS_PARM2 (ctx ); // 用户数据指针
5858 unsigned num_threads = (unsigned )PT_REGS_PARM3 (ctx ); // 线程数量
5959
60- bpf_printk ("OMP parallel region start: pid=%u, threads=%u\n" ,
61- pid , num_threads );
62-
6360 // 更新进程信息中的线程计数
6461 struct proc_info * proc_info = bpf_map_lookup_elem (& process_map , & pid );
6562 if (proc_info ) {
@@ -70,26 +67,12 @@ int uprobe_omp_parallel(struct pt_regs *ctx) {
7067 return 0 ;
7168}
7269
73- // 钩住OpenMP并行区域结束函数
74- SEC ("uretprobe//usr/lib/x86_64-linux-gnu/libgomp.so.1:GOMP_parallel" )
75- int uretprobe_omp_parallel (struct pt_regs * ctx ) {
76- u64 pid_tgid = bpf_get_current_pid_tgid ();
77- u32 pid = pid_tgid >> 32 ;
78-
79- bpf_printk ("OMP parallel region end: pid=%u\n" , pid );
80-
81- return 0 ;
82- }
83-
8470// 钩住GOMP_single_start函数 - 用于single构造
8571SEC ("uprobe//usr/lib/x86_64-linux-gnu/libgomp.so.1:GOMP_single_start" )
8672int uprobe_omp_single_start (struct pt_regs * ctx ) {
8773 u64 pid_tgid = bpf_get_current_pid_tgid ();
8874 u32 pid = pid_tgid >> 32 ;
8975 u32 tid = (u32 )pid_tgid ;
90-
91- bpf_printk ("OMP single construct start: pid=%u, tid=%u\n" , pid , tid );
92-
9376 // 返回值表示该线程是否执行single区域
9477 return 0 ;
9578}
@@ -102,8 +85,6 @@ int uretprobe_omp_single_start(struct pt_regs *ctx) {
10285 u32 tid = (u32 )pid_tgid ;
10386 bool is_selected = (bool )PT_REGS_RC (ctx );
10487
105- bpf_printk ("OMP single construct: pid=%u, tid=%u, selected=%d\n" ,
106- pid , tid , is_selected );
10788
10889 return 0 ;
10990}
@@ -115,7 +96,6 @@ int uprobe_omp_critical_start(struct pt_regs *ctx) {
11596 u32 pid = pid_tgid >> 32 ;
11697 u32 tid = (u32 )pid_tgid ;
11798
118- bpf_printk ("OMP critical section start: pid=%u, tid=%u\n" , pid , tid );
11999
120100 // 记录线程进入临界区
121101 u32 locked = 1 ;
@@ -136,7 +116,6 @@ int uprobe_omp_critical_end(struct pt_regs *ctx) {
136116 u32 pid = pid_tgid >> 32 ;
137117 u32 tid = (u32 )pid_tgid ;
138118
139- bpf_printk ("OMP critical section end: pid=%u, tid=%u\n" , pid , tid );
140119
141120 // 记录线程离开临界区
142121 u32 locked = 0 ;
@@ -158,7 +137,6 @@ int uprobe_omp_barrier(struct pt_regs *ctx) {
158137 u32 pid = pid_tgid >> 32 ;
159138 u32 tid = (u32 )pid_tgid ;
160139
161- bpf_printk ("OMP barrier reached: pid=%u, tid=%u\n" , pid , tid );
162140
163141 return 0 ;
164142}
@@ -171,8 +149,6 @@ int uprobe_omp_set_lock(struct pt_regs *ctx) {
171149 u32 tid = (u32 )pid_tgid ;
172150 void * lock = (void * )PT_REGS_PARM1 (ctx );
173151
174- bpf_printk ("OMP set lock: pid=%u, tid=%u, lock=%p\n" ,
175- pid , tid , lock );
176152
177153 // 记录线程获取锁
178154 u32 locked = 1 ;
@@ -189,8 +165,6 @@ int uprobe_omp_unset_lock(struct pt_regs *ctx) {
189165 u32 tid = (u32 )pid_tgid ;
190166 void * lock = (void * )PT_REGS_PARM1 (ctx );
191167
192- bpf_printk ("OMP unset lock: pid=%u, tid=%u, lock=%p\n" ,
193- pid , tid , lock );
194168
195169 // 记录线程释放锁
196170 u32 locked = 0 ;
@@ -210,7 +184,6 @@ int uprobe_cxx_thread_start(struct pt_regs *ctx) {
210184 void * thread_state_ptr = (void * )PT_REGS_PARM1 (ctx ); // unique_ptr参数
211185 void * thread_func_ptr = (void * )PT_REGS_PARM2 (ctx ); // 函数指针参数
212186
213- bpf_printk ("C++ std::thread start detected in process %u (tid %u)\n" , pid , tid );
214187
215188 // 记录线程创建事件到临时映射,供返回探针使用
216189 struct {
@@ -246,8 +219,6 @@ int uretprobe_cxx_thread_start(struct pt_regs *ctx) {
246219 if (proc_info ) {
247220 proc_info -> thread_count ++ ;
248221 bpf_map_update_elem (& process_map , & pid , proc_info , BPF_ANY );
249- bpf_printk ("Incremented thread count for process %u to %u\n" ,
250- pid , proc_info -> thread_count );
251222 }
252223
253224 // 清理临时信息
@@ -644,7 +615,6 @@ int uretprobe_fork(struct pt_regs *ctx) {
644615 struct mem_stats new_stats = {};
645616 bpf_map_update_elem (& stats_map , & child_pid , & new_stats , BPF_ANY );
646617
647- bpf_printk ("fork: parent=%u created child=%u\n" , parent_pid , child_pid );
648618 }
649619
650620 // 清理临时状态
@@ -716,7 +686,6 @@ int uretprobe_clone(struct pt_regs *ctx) {
716686 bpf_map_update_elem (& process_map , & parent_pid , parent_info , BPF_ANY );
717687 }
718688
719- bpf_printk ("clone created thread: pid=%u, tid=%u\n" , parent_pid , child_id );
720689 } else {
721690 // 这是一个进程,更新进程映射
722691 struct proc_info proc_info = clone_data -> info ;
@@ -730,7 +699,6 @@ int uretprobe_clone(struct pt_regs *ctx) {
730699 struct mem_stats new_stats = {};
731700 bpf_map_update_elem (& stats_map , & child_id , & new_stats , BPF_ANY );
732701
733- bpf_printk ("clone created process: parent=%u, child=%u\n" , parent_pid , child_id );
734702 }
735703 }
736704
@@ -801,7 +769,6 @@ int uprobe_exit(struct pt_regs *ctx) {
801769 u32 tid = (u32 )pid_tgid ;
802770 u32 pid = pid_tgid >> 32 ;
803771
804- bpf_printk ("exit: tid=%u, pid=%u\n" , tid , pid );
805772
806773 // 查找并删除线程信息
807774 struct proc_info * thread_info = bpf_map_lookup_elem (& thread_map , & tid );
@@ -832,7 +799,6 @@ int uprobe_exit_group(struct pt_regs *ctx) {
832799 u32 tid = (u32 )pid_tgid ;
833800 u32 pid = pid_tgid >> 32 ;
834801
835- bpf_printk ("exit_group: pid=%u\n" , pid );
836802
837803 // 获取退出状态码
838804 int exit_code = (int )PT_REGS_PARM1 (ctx );
@@ -841,8 +807,6 @@ int uprobe_exit_group(struct pt_regs *ctx) {
841807 struct proc_info * proc_info = bpf_map_lookup_elem (& process_map , & pid );
842808 if (proc_info ) {
843809 // 记录进程退出信息
844- bpf_printk ("Process %u exiting with code %d, had %d threads\n" ,
845- pid , exit_code , proc_info -> thread_count );
846810
847811 // 删除进程信息
848812 bpf_map_delete_elem (& process_map , & pid );
0 commit comments