summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzy <[email protected]>2023-11-10 01:48:09 -0500
committerzy <[email protected]>2023-11-10 01:48:09 -0500
commitb03de1505382c0391da0981e42e081b3a2a0f3bd (patch)
tree760c8974a614370cf4ab0abbd66b48cc3078ae40
parent3f687c58ae28225ea33d8a72d8b73751fe25ec9b (diff)
some comment
-rwxr-xr-xSOURCE/module/kernel/load.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/SOURCE/module/kernel/load.c b/SOURCE/module/kernel/load.c
index 9226117..4e28d91 100755
--- a/SOURCE/module/kernel/load.c
+++ b/SOURCE/module/kernel/load.c
@@ -219,18 +219,19 @@ void diag_load_timer(struct diag_percpu_context *context)
#else
if ((p->__state == TASK_RUNNING) || task_contributes_to_load2(p)) {
#endif
- tsk_info.et_type = et_load_monitor_task;
+ tsk_info.et_type = et_load_monitor_task; // task info to
tsk_info.id = event_id;
tsk_info.tv = detail.tv;
- diag_task_brief(p, &tsk_info.task);
- diag_task_kern_stack(p, &tsk_info.kern_stack);
- dump_proc_chains_argv(load_monitor_settings.style, &mm_tree, p, &tsk_info.proc_chains);
- diag_variant_buffer_spin_lock(&load_monitor_variant_buffer, flags);
- diag_variant_buffer_reserve(&load_monitor_variant_buffer, sizeof(struct load_monitor_task));
+ diag_task_brief(p, &tsk_info.task); //task 相关信息
+ diag_task_kern_stack(p, &tsk_info.kern_stack); // 内核栈相关信息
+ dump_proc_chains_argv(load_monitor_settings.style, &mm_tree, p, &tsk_info.proc_chains); // 进程链相关信息
+
+ diag_variant_buffer_spin_lock(&load_monitor_variant_buffer, flags); // &获取 load_monitor_variant_buffer 的 spin_lock
+ diag_variant_buffer_reserve(&load_monitor_variant_buffer, sizeof(struct load_monitor_task));//
diag_variant_buffer_write_nolock(&load_monitor_variant_buffer,
- &tsk_info, sizeof(struct load_monitor_task));
- diag_variant_buffer_seal(&load_monitor_variant_buffer);
- diag_variant_buffer_spin_unlock(&load_monitor_variant_buffer, flags);
+ &tsk_info, sizeof(struct load_monitor_task)); // tsk_info 写入 load_monitor_variant_buffer
+ diag_variant_buffer_seal(&load_monitor_variant_buffer); // 已写入
+ diag_variant_buffer_spin_unlock(&load_monitor_variant_buffer, flags); // &释放 load_monitor_variant_buffer 的 spin_lock
}
} while_each_thread(g, p);
rcu_read_unlock();