我只是在一个比我有更多主意的人快速澄清之后。我目前正在Android内核中跟踪活页夹交易,并将它们与活页夹日志进行比较以进行健全性检查。日志显示一个条目,例如
2122.135601 1959009: call from 3081:7263 to 3075:0 node 69606 handle 10 size 84:0
(请注意,我已将活页夹日志打印内容修改为显示sched_clock()
)
现在通过活页夹日志打印功能
seq_printf(m,
| "%5llu.%06lu %d: %s from %d:%d to %d:%d node %d handle %d size %d:%d\n",
| t, usec_rem,
| e->debug_id, (e->call_type == 2) ? "reply" :
| ((e->call_type == 1) ? "async" : "call "), e->from_proc,
| e->from_thread, e->to_proc, e->to_thread, e->to_node,
| e->target_handle, e->data_size, e->offsets_size);
我可以看到打印格式为“ X:Y to A:B”(在语句的中间)显示了from proc&thread和to proc&thread。因此,毕竟我的问题很简单。当to proc和线程类似于1234:0时,这意味着该线程(ID为0)表示这是目标程序的所有其他线程(例如1234:5678)被分叉的原始进程。从?我还没有找到关于这方面的具体文献(我可能只是瞎子)。
欢呼