Add an anonymous struct to support admittance using a red-black tree,
overrun tracking, state for whether or not to yield or block, debugging
support, execution slot pattern for the scheduler.

Signed-off-by: Bill Huey (hui) <bill.h...@gmail.com>
---
 include/linux/sched.h | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/include/linux/sched.h b/include/linux/sched.h
index 084ed9f..cff56c6 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1305,6 +1305,21 @@ struct sched_rt_entity {
        /* rq "owned" by this entity/group: */
        struct rt_rq            *my_q;
 #endif
+#ifdef CONFIG_RTC_CYCLIC
+       struct {
+               struct rb_node node; /* admittance structure */
+               struct list_head task_list;
+               unsigned long count; /* overrun count per slot */
+               int type, color, yield;
+               u64 slots;
+
+               /* debug */
+               unsigned long last_task_state;
+
+               /* instrumentation  */
+               unsigned int machine_state, last_machine_state;
+       } rt_overrun;
+#endif
 };
 
 struct sched_dl_entity {
-- 
2.5.0

Reply via email to