Обработка флагов соответствующим образом в классе планирования ядра LinuxLinux

Ответить Пред. темаСлед. тема
Anonymous
 Обработка флагов соответствующим образом в классе планирования ядра Linux

Сообщение Anonymous »

Я работаю с исходным кодом ядра Linux для побочного проекта, который я хочу сделать. Я успешно зарегистрировал свой класс планирования и использовал RBTree's RBTree для моего HVF_RQ (я намерен свой планировщик планировать на основе наивысшего значения, рассчитанного по операции между тремя полями, которые я добавил в struct task_struk Runqueue. Эта функция принимает три аргумента (в соответствии с функцией указателя enqueue_task члена rad_class), а третий - флаги int . Мой вопрос об обращении с этими флагами соответствующим образом. В ядре файла/sched/sched.h есть приведенный приведенный фрагмент комментариев, описывающий ситуацию:

Код: Выделить всё

/*
* {de,en}queue flags:
*
* DEQUEUE_SLEEP  - task is no longer runnable
* ENQUEUE_WAKEUP - task just became runnable
*
* SAVE/RESTORE - an otherwise spurious dequeue/enqueue, done to ensure tasks
*                are in a known state which allows modification. Such pairs
*                should preserve as much state as possible.
*
* MOVE - paired with SAVE/RESTORE, explicitly does not preserve the location
*        in the runqueue.
*
* NOCLOCK - skip the update_rq_clock() (avoids double updates)
*
* MIGRATION - p->on_rq == TASK_ON_RQ_MIGRATING (used for DEADLINE)
*
* ENQUEUE_HEAD      - place at front of runqueue (tail if not specified)
* ENQUEUE_REPLENISH - CBS (replenish runtime and postpone deadline)
* ENQUEUE_MIGRATED  - the task was migrated during wakeup
* ENQUEUE_RQ_SELECTED - ->select_task_rq() was called
*
*/
Я могу легко понять, что enqueue_wakeup является нормальным условием, когда вы вычисляете ключ и вставляете runcequeue's cheduled_hvf_entity (соответствующая Prade_entity, которую я сделал) в Runqueue of планировщика (если другой флаг не связан с его (используя оператор). Также я могу справедливо сказать, что enqueue_head описывает желание поставить задачу на голову runqueue (наиболее правый из дерева в моем случае) (в основном эти два флага будут установлены в паре с использованием | Если вызывающий намерен срочно поставить задачу). В других флагах будет апроприночная обработка?

Подробнее здесь: https://stackoverflow.com/questions/796 ... ling-class
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»