23 #ifndef _XENO_NUCLEUS_SCHED_TP_H
24 #define _XENO_NUCLEUS_SCHED_TP_H
26 #ifndef _XENO_NUCLEUS_SCHED_H
27 #error "please don't include nucleus/sched-tp.h directly"
30 #ifdef CONFIG_XENO_OPT_SCHED_TP
32 extern struct xnsched_class xnsched_class_tp;
34 struct xnsched_tp_window {
39 struct xnsched_tp_schedule {
41 xnticks_t tf_duration;
42 struct xnsched_tp_window pwins[0];
47 struct xnsched_tpslot {
48 xnsched_queue_t runnable;
49 } partitions[CONFIG_XENO_OPT_SCHED_TP_NRPART];
51 struct xnsched_tpslot idle;
52 struct xnsched_tpslot *tps;
53 struct xntimer tf_timer;
54 struct xnsched_tp_schedule *gps;
57 struct xnqueue threads;
60 static inline int xnsched_tp_init_tcb(
struct xnthread *thread)
62 inith(&thread->tp_link);
68 struct xnsched_tp_schedule *
69 xnsched_tp_set_schedule(
struct xnsched *sched,
70 struct xnsched_tp_schedule *gps);
72 void xnsched_tp_start_schedule(
struct xnsched *sched);
74 void xnsched_tp_stop_schedule(
struct xnsched *sched);
76 int xnsched_tp_get_partition(
struct xnsched *sched);
Scheduling information structure.
Definition: sched.h:66