123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #ifndef ZEPHYR_INCLUDE_SCHED_PRIQ_H_
- #define ZEPHYR_INCLUDE_SCHED_PRIQ_H_
- #include <sys/util.h>
- #include <sys/dlist.h>
- #include <sys/rb.h>
- struct k_thread;
- struct k_thread *z_priq_dumb_best(sys_dlist_t *pq);
- void z_priq_dumb_remove(sys_dlist_t *pq, struct k_thread *thread);
- void z_priq_dumb_add(sys_dlist_t *pq, struct k_thread *thread);
- struct _priq_rb {
- struct rbtree tree;
- int next_order_key;
- };
- void z_priq_rb_add(struct _priq_rb *pq, struct k_thread *thread);
- void z_priq_rb_remove(struct _priq_rb *pq, struct k_thread *thread);
- struct k_thread *z_priq_rb_best(struct _priq_rb *pq);
- struct _priq_mq {
- sys_dlist_t queues[32];
- unsigned int bitmask;
- };
- void z_priq_mq_add(struct _priq_mq *pq, struct k_thread *thread);
- void z_priq_mq_remove(struct _priq_mq *pq, struct k_thread *thread);
- struct k_thread *z_priq_mq_best(struct _priq_mq *pq);
- #endif
|