diff options
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 19 |
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 | |||
96 | struct exec_domain; | 100 | struct exec_domain; |
97 | struct futex_pi_state; | 101 | struct futex_pi_state; |
98 | struct robust_list_head; | 102 | struct robust_list_head; |
@@ -1209,6 +1213,7 @@ struct sched_rt_entity { | |||
1209 | }; | 1213 | }; |
1210 | 1214 | ||
1211 | struct rcu_node; | 1215 | struct rcu_node; |
1216 | struct od_table_entry; | ||
1212 | 1217 | ||
1213 | enum perf_event_task_context { | 1218 | enum 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 | ||
2141 | extern void block_all_signals(int (*notifier)(void *priv), void *priv, | 2153 | extern 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) | |||
2446 | static inline void set_tsk_need_resched(struct task_struct *tsk) | 2458 | static 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 | ||
2451 | static inline void clear_tsk_need_resched(struct task_struct *tsk) | 2464 | static inline void clear_tsk_need_resched(struct task_struct *tsk) |