Значение PF_VCPU и PF_WQ_WORKER

Приложение, которое Gmail использует для чата, на самом деле GoogleTalk (или "Тусовки", или что там они ребрендинг на этой неделе); оттуда довольно просто сделать вывод, что протокол, который вы хотите, на самом деле, GoogleTalk. (И нет, я не просто выводю ответ; я использую Pidgin для Google-чата почти исключительно, и именно так я всегда его настраиваю)

Стоит отметить, что под капотом это просто XMPP, и до того, как Pidgin добавил GoogleTalk в качестве "протокола", вы на самом деле будете использовать этот; ходят слухи, что вы все еще можете, но мне никогда не везло, и просто использовать GoogleTalk проще. (В стороне, Facebook в этом отношении тот же самый.)

1
19.06.2014, 12:50
2 ответа

Этот бит объясняет назначение 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 реализация заменит их соответствующей Реализация.

Эти крючки жестко закодированы, так как они всегда будут включены.

Источник: [PATCH 4/4] sched: add hooks for workqueue

1
27.01.2020, 23:38

Флаг PF_VCPU установлен в guest_enter , который вызывается в kvm_guest_enter , который вызывается в kvm_arch_vcpu_ioctl_run. Насколько я понимаю, это аннотация на процесс, запущенный внутри виртуальной машины KVM; что касается планировщика хоста, то процесс активен под видом своей виртуальной машины. Было введено для правильного отслеживания процесса, выполняемого внутри виртуальной машины, в сравнении со временем, затрачиваемым самой виртуальной машиной.

.
1
27.01.2020, 23:38

Теги

Похожие вопросы