Приложение, которое Gmail использует для чата, на самом деле GoogleTalk (или "Тусовки", или что там они ребрендинг на этой неделе); оттуда довольно просто сделать вывод, что протокол, который вы хотите, на самом деле, GoogleTalk. (И нет, я не просто выводю ответ; я использую Pidgin для Google-чата почти исключительно, и именно так я всегда его настраиваю)
Стоит отметить, что под капотом это просто XMPP, и до того, как Pidgin добавил GoogleTalk в качестве "протокола", вы на самом деле будете использовать этот; ходят слухи, что вы все еще можете, но мне никогда не везло, и просто использовать GoogleTalk проще. (В стороне, Facebook в этом отношении тот же самый.)
Этот бит объясняет назначение PF_WQ_WORKER
.
выдержка
Рабочий процесс, управляемый конвертацией, должен знать, когда рабочие будут работать на спать и просыпаться, а когда рабочий ложится спать, проснуться нанимать другого работника для поддержания адекватного параллелизма. Этот патч вводит
PF_WQ_WORKER
для идентификации работников рабочего места и добавляет после двух перехватов.
wq_worker_wak_up()
: вызывается, когда работник просыпается.
wq_worker_sleeping()
: вызывается, когда работник собирается спать и может вернуть указатель на локальную задачу, которая должна быть пробуждена. возвращаемая задача пробуждается с помощьюtry_to_wake_up_local()
, а именно упрощеннаяttwu
, которая вызывается при блокировкеrq
и может только просыпаться. локальные задачи.В настоящее время оба крюка определены как
noop
вядре/workqueue_sched.h
. Позжеcmwq
реализация заменит их соответствующей Реализация.Эти крючки жестко закодированы, так как они всегда будут включены.
Флаг PF_VCPU
установлен в guest_enter
, который вызывается в kvm_guest_enter
, который вызывается в kvm_arch_vcpu_ioctl_run
. Насколько я понимаю, это аннотация на процесс, запущенный внутри виртуальной машины KVM; что касается планировщика хоста, то процесс активен под видом своей виртуальной машины. Было введено для правильного отслеживания процесса, выполняемого внутри виртуальной машины, в сравнении со временем, затрачиваемым самой виртуальной машиной.