19 #ifndef _COBALT_KERNEL_SCHED_SPORADIC_H
20 #define _COBALT_KERNEL_SCHED_SPORADIC_H
22 #ifndef _COBALT_KERNEL_SCHED_H
23 #error "please don't include cobalt/kernel/sched-sporadic.h directly"
31 #ifdef CONFIG_XENO_OPT_SCHED_SPORADIC
33 #define XNSCHED_SPORADIC_MIN_PRIO 1
34 #define XNSCHED_SPORADIC_MAX_PRIO 255
35 #define XNSCHED_SPORADIC_NR_PRIO \
36 (XNSCHED_SPORADIC_MAX_PRIO - XNSCHED_SPORADIC_MIN_PRIO + 1)
38 extern struct xnsched_class xnsched_class_sporadic;
40 struct xnsched_sporadic_repl {
45 struct xnsched_sporadic_data {
46 xnticks_t resume_date;
51 struct xntimer repl_timer;
52 struct xntimer drop_timer;
53 struct xnsched_sporadic_repl repl_data[CONFIG_XENO_OPT_SCHED_SPORADIC_MAXREPL];
54 struct xnsched_sporadic_param param;
55 struct xnthread *thread;
58 struct xnsched_sporadic {
59 #if XENO_DEBUG(COBALT)
60 unsigned long drop_retries;
64 static inline int xnsched_sporadic_init_thread(
struct xnthread *thread)