19 #ifndef _COBALT_KERNEL_SCHED_TP_H 20 #define _COBALT_KERNEL_SCHED_TP_H 22 #ifndef _COBALT_KERNEL_SCHED_H 23 #error "please don't include cobalt/kernel/sched-tp.h directly" 31 #ifdef CONFIG_XENO_OPT_SCHED_TP 33 #define XNSCHED_TP_MIN_PRIO 1 34 #define XNSCHED_TP_MAX_PRIO 255 35 #define XNSCHED_TP_NR_PRIO \ 36 (XNSCHED_TP_MAX_PRIO - XNSCHED_TP_MIN_PRIO + 1) 38 extern struct xnsched_class xnsched_class_tp;
40 struct xnsched_tp_window {
45 struct xnsched_tp_schedule {
47 xnticks_t tf_duration;
49 struct xnsched_tp_window pwins[0];
53 struct xnsched_tpslot {
55 xnsched_queue_t runnable;
56 } partitions[CONFIG_XENO_OPT_SCHED_TP_NRPART];
58 struct xnsched_tpslot idle;
60 struct xnsched_tpslot *tps;
62 struct xntimer tf_timer;
64 struct xnsched_tp_schedule *gps;
70 struct list_head threads;
73 static inline int xnsched_tp_init_thread(
struct xnthread *thread)
80 struct xnsched_tp_schedule *
81 xnsched_tp_set_schedule(
struct xnsched *sched,
82 struct xnsched_tp_schedule *gps);
84 void xnsched_tp_start_schedule(
struct xnsched *sched);
86 void xnsched_tp_stop_schedule(
struct xnsched *sched);
88 int xnsched_tp_get_partition(
struct xnsched *sched);
90 struct xnsched_tp_schedule *
91 xnsched_tp_get_schedule(
struct xnsched *sched);
93 void xnsched_tp_put_schedule(
struct xnsched_tp_schedule *gps);
Scheduling information structure.
Definition: sched.h:58
Copyright © 2011 Gilles Chanteperdrix gilles.chanteperdrix@xenomai.org.
Definition: atomic.h:24