diff options
| author | zy <[email protected]> | 2023-11-10 01:48:09 -0500 |
|---|---|---|
| committer | zy <[email protected]> | 2023-11-10 01:48:09 -0500 |
| commit | b03de1505382c0391da0981e42e081b3a2a0f3bd (patch) | |
| tree | 760c8974a614370cf4ab0abbd66b48cc3078ae40 | |
| parent | 3f687c58ae28225ea33d8a72d8b73751fe25ec9b (diff) | |
some comment
| -rwxr-xr-x | SOURCE/module/kernel/load.c | 19 |
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(); |
