diff options
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 00e144117326..9c17e828d6d4 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -242,6 +242,7 @@ struct task_struct; | |||
242 | 242 | ||
243 | extern void sched_init(void); | 243 | extern void sched_init(void); |
244 | extern void sched_init_smp(void); | 244 | extern void sched_init_smp(void); |
245 | extern asmlinkage void schedule_tail(struct task_struct *prev); | ||
245 | extern void init_idle(struct task_struct *idle, int cpu); | 246 | extern void init_idle(struct task_struct *idle, int cpu); |
246 | extern void init_idle_bootup_task(struct task_struct *idle); | 247 | extern void init_idle_bootup_task(struct task_struct *idle); |
247 | 248 | ||
@@ -323,7 +324,7 @@ extern char __sched_text_start[], __sched_text_end[]; | |||
323 | extern int in_sched_functions(unsigned long addr); | 324 | extern int in_sched_functions(unsigned long addr); |
324 | 325 | ||
325 | #define MAX_SCHEDULE_TIMEOUT LONG_MAX | 326 | #define MAX_SCHEDULE_TIMEOUT LONG_MAX |
326 | extern signed long FASTCALL(schedule_timeout(signed long timeout)); | 327 | extern signed long schedule_timeout(signed long timeout); |
327 | extern signed long schedule_timeout_interruptible(signed long timeout); | 328 | extern signed long schedule_timeout_interruptible(signed long timeout); |
328 | extern signed long schedule_timeout_killable(signed long timeout); | 329 | extern signed long schedule_timeout_killable(signed long timeout); |
329 | extern signed long schedule_timeout_uninterruptible(signed long timeout); | 330 | extern signed long schedule_timeout_uninterruptible(signed long timeout); |
@@ -590,7 +591,7 @@ struct user_struct { | |||
590 | struct hlist_node uidhash_node; | 591 | struct hlist_node uidhash_node; |
591 | uid_t uid; | 592 | uid_t uid; |
592 | 593 | ||
593 | #ifdef CONFIG_FAIR_USER_SCHED | 594 | #ifdef CONFIG_USER_SCHED |
594 | struct task_group *tg; | 595 | struct task_group *tg; |
595 | #ifdef CONFIG_SYSFS | 596 | #ifdef CONFIG_SYSFS |
596 | struct kobject kobj; | 597 | struct kobject kobj; |
@@ -973,7 +974,7 @@ struct sched_rt_entity { | |||
973 | unsigned long timeout; | 974 | unsigned long timeout; |
974 | int nr_cpus_allowed; | 975 | int nr_cpus_allowed; |
975 | 976 | ||
976 | #ifdef CONFIG_FAIR_GROUP_SCHED | 977 | #ifdef CONFIG_RT_GROUP_SCHED |
977 | struct sched_rt_entity *parent; | 978 | struct sched_rt_entity *parent; |
978 | /* rq on which this entity is (to be) queued: */ | 979 | /* rq on which this entity is (to be) queued: */ |
979 | struct rt_rq *rt_rq; | 980 | struct rt_rq *rt_rq; |
@@ -1541,8 +1542,6 @@ extern unsigned int sysctl_sched_child_runs_first; | |||
1541 | extern unsigned int sysctl_sched_features; | 1542 | extern unsigned int sysctl_sched_features; |
1542 | extern unsigned int sysctl_sched_migration_cost; | 1543 | extern unsigned int sysctl_sched_migration_cost; |
1543 | extern unsigned int sysctl_sched_nr_migrate; | 1544 | extern unsigned int sysctl_sched_nr_migrate; |
1544 | extern unsigned int sysctl_sched_rt_period; | ||
1545 | extern unsigned int sysctl_sched_rt_ratio; | ||
1546 | #if defined(CONFIG_FAIR_GROUP_SCHED) && defined(CONFIG_SMP) | 1545 | #if defined(CONFIG_FAIR_GROUP_SCHED) && defined(CONFIG_SMP) |
1547 | extern unsigned int sysctl_sched_min_bal_int_shares; | 1546 | extern unsigned int sysctl_sched_min_bal_int_shares; |
1548 | extern unsigned int sysctl_sched_max_bal_int_shares; | 1547 | extern unsigned int sysctl_sched_max_bal_int_shares; |
@@ -1552,6 +1551,8 @@ int sched_nr_latency_handler(struct ctl_table *table, int write, | |||
1552 | struct file *file, void __user *buffer, size_t *length, | 1551 | struct file *file, void __user *buffer, size_t *length, |
1553 | loff_t *ppos); | 1552 | loff_t *ppos); |
1554 | #endif | 1553 | #endif |
1554 | extern unsigned int sysctl_sched_rt_period; | ||
1555 | extern int sysctl_sched_rt_runtime; | ||
1555 | 1556 | ||
1556 | extern unsigned int sysctl_sched_compat_yield; | 1557 | extern unsigned int sysctl_sched_compat_yield; |
1557 | 1558 | ||
@@ -1648,10 +1649,10 @@ extern void release_uids(struct user_namespace *ns); | |||
1648 | 1649 | ||
1649 | extern void do_timer(unsigned long ticks); | 1650 | extern void do_timer(unsigned long ticks); |
1650 | 1651 | ||
1651 | extern int FASTCALL(wake_up_state(struct task_struct * tsk, unsigned int state)); | 1652 | extern int wake_up_state(struct task_struct *tsk, unsigned int state); |
1652 | extern int FASTCALL(wake_up_process(struct task_struct * tsk)); | 1653 | extern int wake_up_process(struct task_struct *tsk); |
1653 | extern void FASTCALL(wake_up_new_task(struct task_struct * tsk, | 1654 | extern void wake_up_new_task(struct task_struct *tsk, |
1654 | unsigned long clone_flags)); | 1655 | unsigned long clone_flags); |
1655 | #ifdef CONFIG_SMP | 1656 | #ifdef CONFIG_SMP |
1656 | extern void kick_process(struct task_struct *tsk); | 1657 | extern void kick_process(struct task_struct *tsk); |
1657 | #else | 1658 | #else |
@@ -1741,7 +1742,7 @@ static inline int sas_ss_flags(unsigned long sp) | |||
1741 | extern struct mm_struct * mm_alloc(void); | 1742 | extern struct mm_struct * mm_alloc(void); |
1742 | 1743 | ||
1743 | /* mmdrop drops the mm and the page tables */ | 1744 | /* mmdrop drops the mm and the page tables */ |
1744 | extern void FASTCALL(__mmdrop(struct mm_struct *)); | 1745 | extern void __mmdrop(struct mm_struct *); |
1745 | static inline void mmdrop(struct mm_struct * mm) | 1746 | static inline void mmdrop(struct mm_struct * mm) |
1746 | { | 1747 | { |
1747 | if (unlikely(atomic_dec_and_test(&mm->mm_count))) | 1748 | if (unlikely(atomic_dec_and_test(&mm->mm_count))) |
@@ -1925,7 +1926,7 @@ static inline int signal_pending(struct task_struct *p) | |||
1925 | return unlikely(test_tsk_thread_flag(p,TIF_SIGPENDING)); | 1926 | return unlikely(test_tsk_thread_flag(p,TIF_SIGPENDING)); |
1926 | } | 1927 | } |
1927 | 1928 | ||
1928 | extern int FASTCALL(__fatal_signal_pending(struct task_struct *p)); | 1929 | extern int __fatal_signal_pending(struct task_struct *p); |
1929 | 1930 | ||
1930 | static inline int fatal_signal_pending(struct task_struct *p) | 1931 | static inline int fatal_signal_pending(struct task_struct *p) |
1931 | { | 1932 | { |
@@ -2027,16 +2028,22 @@ extern int sched_mc_power_savings, sched_smt_power_savings; | |||
2027 | 2028 | ||
2028 | extern void normalize_rt_tasks(void); | 2029 | extern void normalize_rt_tasks(void); |
2029 | 2030 | ||
2030 | #ifdef CONFIG_FAIR_GROUP_SCHED | 2031 | #ifdef CONFIG_GROUP_SCHED |
2031 | 2032 | ||
2032 | extern struct task_group init_task_group; | 2033 | extern struct task_group init_task_group; |
2033 | 2034 | ||
2034 | extern struct task_group *sched_create_group(void); | 2035 | extern struct task_group *sched_create_group(void); |
2035 | extern void sched_destroy_group(struct task_group *tg); | 2036 | extern void sched_destroy_group(struct task_group *tg); |
2036 | extern void sched_move_task(struct task_struct *tsk); | 2037 | extern void sched_move_task(struct task_struct *tsk); |
2038 | #ifdef CONFIG_FAIR_GROUP_SCHED | ||
2037 | extern int sched_group_set_shares(struct task_group *tg, unsigned long shares); | 2039 | extern int sched_group_set_shares(struct task_group *tg, unsigned long shares); |
2038 | extern unsigned long sched_group_shares(struct task_group *tg); | 2040 | extern unsigned long sched_group_shares(struct task_group *tg); |
2039 | 2041 | #endif | |
2042 | #ifdef CONFIG_RT_GROUP_SCHED | ||
2043 | extern int sched_group_set_rt_runtime(struct task_group *tg, | ||
2044 | long rt_runtime_us); | ||
2045 | extern long sched_group_rt_runtime(struct task_group *tg); | ||
2046 | #endif | ||
2040 | #endif | 2047 | #endif |
2041 | 2048 | ||
2042 | #ifdef CONFIG_TASK_XACCT | 2049 | #ifdef CONFIG_TASK_XACCT |