diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-04-19 17:31:52 -0400 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-04-19 17:31:52 -0400 |
commit | f70a290e8a889caa905ab7650c696f2bb299be1a (patch) | |
tree | 56f0886d839499e9f522f189999024b3e86f9be2 /include/linux/sched.h | |
parent | fcc9d2e5a6c89d22b8b773a64fb4ad21ac318446 (diff) | |
parent | 7ef4a793a624c6e66c16ca1051847f75161f5bec (diff) |
Merge branch 'wip-nested-locking' into tegra-nested-lockingwip-nested-locking
Conflicts:
Makefile
include/linux/fs.h
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 20 |
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 | |||
96 | struct exec_domain; | 101 | struct exec_domain; |
97 | struct futex_pi_state; | 102 | struct futex_pi_state; |
98 | struct robust_list_head; | 103 | struct robust_list_head; |
@@ -1209,6 +1214,7 @@ struct sched_rt_entity { | |||
1209 | }; | 1214 | }; |
1210 | 1215 | ||
1211 | struct rcu_node; | 1216 | struct rcu_node; |
1217 | struct od_table_entry; | ||
1212 | 1218 | ||
1213 | enum perf_event_task_context { | 1219 | enum 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) | |||
2464 | static inline void set_tsk_need_resched(struct task_struct *tsk) | 2479 | static 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 | ||
2469 | static inline void clear_tsk_need_resched(struct task_struct *tsk) | 2485 | static inline void clear_tsk_need_resched(struct task_struct *tsk) |