Значение PF_VCPU и PF_WQ_WORKER

знаете ли вы, что значение констант определено в linux/sched.h :

  #define PF_VCPU 0x00000010 /* I'm a virtual CPU */ #define PF_WQ_WORKER 0x00000020 /* I'm a workqueue worker */ 

Что это значит, когда в процессе установлены оба флага (девятый параметр в /proc/[pid]/stat равен 0x30 или десятичному 48 )

Я только обнаружил, что короткие комментарии после определения, но я не могу представить никакого смысла.

2 Solutions collect form web for “Значение PF_VCPU и PF_WQ_WORKER”

Этот бит объясняет цель PF_WQ_WORKER .

выдержка

Параллелизм, управляемый параллелизмом, должен знать, когда работники будут спать и просыпаться, а когда работник ложится спать, сможет разбудить другого работника для поддержания адекватного параллелизма. Этот патч вводит PF_WQ_WORKER для определения рабочих мест и добавляет следующие два крючка.

  • wq_worker_waking_up() : wq_worker_waking_up() когда рабочий проснулся.

  • wq_worker_sleeping() : wq_worker_sleeping() когда рабочий собирается спать и может возвращать указатель на локальную задачу, которую нужно разбудить. try_to_wake_up_local() задача try_to_wake_up_local() с помощью try_to_wake_up_local() которая упрощена ttwu которая вызывается под rq lock и может только ttwu локальные задачи.

Оба крючка в настоящее время определяются как noop в kernel/workqueue_sched.h . Позже реализация cmwq заменит их на правильную реализацию.

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

Источник: [PATCH 4/4] расписание: добавить крючки для работы

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

  • Почему разветвленные процессы иногда появляются с помощью скобок вокруг их имени в ps?
  • Сохраните весь процесс для продолжения после перезагрузки
  • контролировать множественные пипы с верхним
  • Есть ли способ определить, какой файл (сценарий, в частности) выполнил команду?
  • Ограничить процесс одним ядром процессора
  • Как перечислить файлы блокировки процессов?
  • как гарантировать, что программа всегда работает, но без доступа root?
  • Ошибка SIOCADDRT: нет такого процесса
  • Как узнать, сколько времени работает процесс?
  • Получение незарегистрированного пароля от Icedove
  • Отключение замены только для одного процесса с помощью групп?
  • Interesting Posts

    ssh tunnel w / auth только для прокси

    sed для удаления ведущего 91, если число равно 12 цифрам

    Подсчитайте количество процессов и отправьте электронное письмо нескольким людям, если оно превышает определенный предел

    Определите, загружается ли сервер с помощью выскочки или sysvinit

    Какой пакет может содержать «linux-headers-3.7.5-1-ARCH»?

    Поврежденный сеанс gnu-screen не отображает UTF-8 правильно

    HP Business Inkjet 1000 не работает на debian wheezy из-за просроченных чернильных картриджей

    Как запретить изменять владельца модифицируемых файлов?

    Установка старых версий пакетов python с apt-get (в частности, wxpython)

    Именование пакетов устройств, как включить по имени и по-uuid?

    Пропустить все новые драйверы устройств в `make oldconfig` для ядра Linux

    Запустить терминал Gnome с уровнем оболочки 1?

    Arch Linux застрял в загрузке (достиг целевой графический интерфейс)

    Что такое цель, сервис и сокет systemd?

    Как найти строки, содержащие более 100 символов, и содержит «if»?

    Linux и Unix - лучшая ОС в мире.