Связующие нити - PullRequest
       27

Связующие нити

0 голосов
/ 05 февраля 2019

Я только что получил быстрое разъяснение от кого-то, кто имеет больше идей, чем я. В настоящее время я отслеживаю транзакции связывателя в ядре 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 до A: B" (в середине инструкции) показаны операции from proc & thread и to proc & thread.Так что после всего этого мой вопрос довольно прост.Когда для proc & thread что-то наподобие 1234: 0, это означает, что поток (имеющий идентификатор 0) представляет, что это исходный процесс, который разветвляются все другие потоки (например, 1234: 5678) целевой программыот?Мне не удалось найти конкретную литературу по этому вопросу (возможно, я просто слепой).

Приветствия

...