aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sched.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r--include/linux/sched.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 14a6c7b545de..9c990d13ae35 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -39,6 +39,7 @@
39#define SCHED_BATCH 3 39#define SCHED_BATCH 3
40/* SCHED_ISO: reserved but not implemented yet */ 40/* SCHED_ISO: reserved but not implemented yet */
41#define SCHED_IDLE 5 41#define SCHED_IDLE 5
42#define SCHED_LITMUS 6
42/* Can be ORed in to make sure the process is reverted back to SCHED_NORMAL on fork */ 43/* Can be ORed in to make sure the process is reverted back to SCHED_NORMAL on fork */
43#define SCHED_RESET_ON_FORK 0x40000000 44#define SCHED_RESET_ON_FORK 0x40000000
44 45
@@ -93,6 +94,9 @@ struct sched_param {
93 94
94#include <asm/processor.h> 95#include <asm/processor.h>
95 96
97#include <litmus/rt_param.h>
98#include <litmus/preempt.h>
99
96struct exec_domain; 100struct exec_domain;
97struct futex_pi_state; 101struct futex_pi_state;
98struct robust_list_head; 102struct robust_list_head;
@@ -1209,6 +1213,7 @@ struct sched_rt_entity {
1209}; 1213};
1210 1214
1211struct rcu_node; 1215struct rcu_node;
1216struct od_table_entry;
1212 1217
1213enum perf_event_task_context { 1218enum perf_event_task_context {
1214 perf_invalid_context = -1, 1219 perf_invalid_context = -1,
@@ -1313,9 +1318,9 @@ struct task_struct {
1313 unsigned long stack_canary; 1318 unsigned long stack_canary;
1314#endif 1319#endif
1315 1320
1316 /* 1321 /*
1317 * pointers to (original) parent process, youngest child, younger sibling, 1322 * pointers to (original) parent process, youngest child, younger sibling,
1318 * older sibling, respectively. (p->father can be replaced with 1323 * older sibling, respectively. (p->father can be replaced with
1319 * p->real_parent->pid) 1324 * p->real_parent->pid)
1320 */ 1325 */
1321 struct task_struct *real_parent; /* real parent process */ 1326 struct task_struct *real_parent; /* real parent process */
@@ -1526,6 +1531,13 @@ struct task_struct {
1526 int make_it_fail; 1531 int make_it_fail;
1527#endif 1532#endif
1528 struct prop_local_single dirties; 1533 struct prop_local_single dirties;
1534
1535 /* LITMUS RT parameters and state */
1536 struct rt_param rt_param;
1537
1538 /* references to PI semaphores, etc. */
1539 struct od_table_entry *od_table;
1540
1529#ifdef CONFIG_LATENCYTOP 1541#ifdef CONFIG_LATENCYTOP
1530 int latency_record_count; 1542 int latency_record_count;
1531 struct latency_record latency_record[LT_SAVECOUNT]; 1543 struct latency_record latency_record[LT_SAVECOUNT];
@@ -2136,7 +2148,7 @@ static inline int dequeue_signal_lock(struct task_struct *tsk, sigset_t *mask, s
2136 spin_unlock_irqrestore(&tsk->sighand->siglock, flags); 2148 spin_unlock_irqrestore(&tsk->sighand->siglock, flags);
2137 2149
2138 return ret; 2150 return ret;
2139} 2151}
2140 2152
2141extern void block_all_signals(int (*notifier)(void *priv), void *priv, 2153extern void block_all_signals(int (*notifier)(void *priv), void *priv,
2142 sigset_t *mask); 2154 sigset_t *mask);
@@ -2446,6 +2458,7 @@ static inline int test_tsk_thread_flag(struct task_struct *tsk, int flag)
2446static inline void set_tsk_need_resched(struct task_struct *tsk) 2458static inline void set_tsk_need_resched(struct task_struct *tsk)
2447{ 2459{
2448 set_tsk_thread_flag(tsk,TIF_NEED_RESCHED); 2460 set_tsk_thread_flag(tsk,TIF_NEED_RESCHED);
2461 sched_state_will_schedule(tsk);
2449} 2462}
2450 2463
2451static inline void clear_tsk_need_resched(struct task_struct *tsk) 2464static inline void clear_tsk_need_resched(struct task_struct *tsk)