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.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 5bb4dd2e4c5..096834c7c63 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,10 @@ 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#include <litmus/fdso.h>
100
96struct exec_domain; 101struct exec_domain;
97struct futex_pi_state; 102struct futex_pi_state;
98struct robust_list_head; 103struct robust_list_head;
@@ -1209,6 +1214,7 @@ struct sched_rt_entity {
1209}; 1214};
1210 1215
1211struct rcu_node; 1216struct rcu_node;
1217struct od_table_entry;
1212 1218
1213enum perf_event_task_context { 1219enum perf_event_task_context {
1214 perf_invalid_context = -1, 1220 perf_invalid_context = -1,
@@ -1313,9 +1319,9 @@ struct task_struct {
1313 unsigned long stack_canary; 1319 unsigned long stack_canary;
1314#endif 1320#endif
1315 1321
1316 /* 1322 /*
1317 * pointers to (original) parent process, youngest child, younger sibling, 1323 * pointers to (original) parent process, youngest child, younger sibling,
1318 * older sibling, respectively. (p->father can be replaced with 1324 * older sibling, respectively. (p->father can be replaced with
1319 * p->real_parent->pid) 1325 * p->real_parent->pid)
1320 */ 1326 */
1321 struct task_struct *real_parent; /* real parent process */ 1327 struct task_struct *real_parent; /* real parent process */
@@ -1525,6 +1531,15 @@ struct task_struct {
1525 int make_it_fail; 1531 int make_it_fail;
1526#endif 1532#endif
1527 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
1541 resource_mask_t resources;
1542
1528#ifdef CONFIG_LATENCYTOP 1543#ifdef CONFIG_LATENCYTOP
1529 int latency_record_count; 1544 int latency_record_count;
1530 struct latency_record latency_record[LT_SAVECOUNT]; 1545 struct latency_record latency_record[LT_SAVECOUNT];
@@ -2464,6 +2479,7 @@ static inline int test_tsk_thread_flag(struct task_struct *tsk, int flag)
2464static inline void set_tsk_need_resched(struct task_struct *tsk) 2479static inline void set_tsk_need_resched(struct task_struct *tsk)
2465{ 2480{
2466 set_tsk_thread_flag(tsk,TIF_NEED_RESCHED); 2481 set_tsk_thread_flag(tsk,TIF_NEED_RESCHED);
2482 sched_state_will_schedule(tsk);
2467} 2483}
2468 2484
2469static inline void clear_tsk_need_resched(struct task_struct *tsk) 2485static inline void clear_tsk_need_resched(struct task_struct *tsk)