Lines Matching refs:rq

234 void runqueue_init(runqueue_t *rq)  in runqueue_init()  argument
238 rq->highest_pri = RHINO_CONFIG_PRI_MAX; in runqueue_init()
241 rq->cur_list_item[prio] = NULL; in runqueue_init()
245 RHINO_INLINE void ready_list_init(runqueue_t *rq, ktask_t *task) in ready_list_init() argument
247 rq->cur_list_item[task->prio] = &task->task_list; in ready_list_init()
248 klist_init(rq->cur_list_item[task->prio]); in ready_list_init()
249 krhino_bitmap_set(rq->task_bit_map, task->prio); in ready_list_init()
251 if ((task->prio) < (rq->highest_pri)) { in ready_list_init()
252 rq->highest_pri = task->prio; in ready_list_init()
261 RHINO_INLINE void _ready_list_add_tail(runqueue_t *rq, ktask_t *task) in _ready_list_add_tail() argument
264 ready_list_init(rq, task); in _ready_list_add_tail()
268 klist_insert(rq->cur_list_item[task->prio], &task->task_list); in _ready_list_add_tail()
271 RHINO_INLINE void _ready_list_add_head(runqueue_t *rq, ktask_t *task) in _ready_list_add_head() argument
274 ready_list_init(rq, task); in _ready_list_add_head()
278 klist_insert(rq->cur_list_item[task->prio], &task->task_list); in _ready_list_add_head()
279 rq->cur_list_item[task->prio] = &task->task_list; in _ready_list_add_head()
283 static void task_sched_to_cpu(runqueue_t *rq, ktask_t *task, uint8_t cur_cpu_num) in task_sched_to_cpu() argument
289 (void)rq; in task_sched_to_cpu()
320 void ready_list_add_head(runqueue_t *rq, ktask_t *task) in ready_list_add_head() argument
326 _ready_list_add_head(rq, task); in ready_list_add_head()
328 task_sched_to_cpu(rq, task, cpu_cur_get()); in ready_list_add_head()
330 _ready_list_add_head(rq, task); in ready_list_add_head()
331 task_sched_to_cpu(rq, task, cpu_cur_get()); in ready_list_add_head()
335 void ready_list_add_tail(runqueue_t *rq, ktask_t *task) in ready_list_add_tail() argument
341 _ready_list_add_tail(rq, task); in ready_list_add_tail()
343 task_sched_to_cpu(rq, task, cpu_cur_get()); in ready_list_add_tail()
345 _ready_list_add_tail(rq, task); in ready_list_add_tail()
346 task_sched_to_cpu(rq, task, cpu_cur_get()); in ready_list_add_tail()
351 void ready_list_add_head(runqueue_t *rq, ktask_t *task) in ready_list_add_head() argument
357 _ready_list_add_head(rq, task); in ready_list_add_head()
360 _ready_list_add_head(rq, task); in ready_list_add_head()
364 void ready_list_add_tail(runqueue_t *rq, ktask_t *task) in ready_list_add_tail() argument
371 _ready_list_add_tail(rq, task); in ready_list_add_tail()
374 _ready_list_add_tail(rq, task); in ready_list_add_tail()
379 void ready_list_add(runqueue_t *rq, ktask_t *task) in ready_list_add() argument
381 ready_list_add_tail(rq, task); in ready_list_add()
385 void ready_list_rm(runqueue_t *rq, ktask_t *task) in ready_list_rm() argument
402 if ((rq->cur_list_item[pri]) != (rq->cur_list_item[pri]->next)) { in ready_list_rm()
403 if (rq->cur_list_item[pri] == &task->task_list) { in ready_list_rm()
404 rq->cur_list_item[pri] = rq->cur_list_item[pri]->next; in ready_list_rm()
412 rq->cur_list_item[pri] = NULL; in ready_list_rm()
414 krhino_bitmap_clear(rq->task_bit_map, pri); in ready_list_rm()
418 if (pri != rq->highest_pri) { in ready_list_rm()
423 i = krhino_bitmap_first(rq->task_bit_map); in ready_list_rm()
427 rq->highest_pri = i; in ready_list_rm()
433 void ready_list_head_to_tail(runqueue_t *rq, ktask_t *task) in ready_list_head_to_tail() argument
435 rq->cur_list_item[task->prio] = rq->cur_list_item[task->prio]->next; in ready_list_head_to_tail()
439 ktask_t *preferred_cpu_ready_task_get(runqueue_t *rq, uint8_t cpu_num) in preferred_cpu_ready_task_get() argument
447 uint8_t highest_pri = rq->highest_pri; in preferred_cpu_ready_task_get()
449 node = rq->cur_list_item[highest_pri]; in preferred_cpu_ready_task_get()
453 task_bit_map[i] = rq->task_bit_map[i]; in preferred_cpu_ready_task_get()
471 if (iter->next == rq->cur_list_item[highest_pri]) { in preferred_cpu_ready_task_get()
474 iter = rq->cur_list_item[highest_pri]; in preferred_cpu_ready_task_get()
481 ktask_t *preferred_cpu_ready_task_get(runqueue_t *rq, uint8_t cpu_num) in preferred_cpu_ready_task_get() argument
483 klist_t *node = rq->cur_list_item[rq->highest_pri]; in preferred_cpu_ready_task_get()