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.h33
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
243extern void sched_init(void); 243extern void sched_init(void);
244extern void sched_init_smp(void); 244extern void sched_init_smp(void);
245extern asmlinkage void schedule_tail(struct task_struct *prev);
245extern void init_idle(struct task_struct *idle, int cpu); 246extern void init_idle(struct task_struct *idle, int cpu);
246extern void init_idle_bootup_task(struct task_struct *idle); 247extern void init_idle_bootup_task(struct task_struct *idle);
247 248
@@ -323,7 +324,7 @@ extern char __sched_text_start[], __sched_text_end[];
323extern int in_sched_functions(unsigned long addr); 324extern int in_sched_functions(unsigned long addr);
324 325
325#define MAX_SCHEDULE_TIMEOUT LONG_MAX 326#define MAX_SCHEDULE_TIMEOUT LONG_MAX
326extern signed long FASTCALL(schedule_timeout(signed long timeout)); 327extern signed long schedule_timeout(signed long timeout);
327extern signed long schedule_timeout_interruptible(signed long timeout); 328extern signed long schedule_timeout_interruptible(signed long timeout);
328extern signed long schedule_timeout_killable(signed long timeout); 329extern signed long schedule_timeout_killable(signed long timeout);
329extern signed long schedule_timeout_uninterruptible(signed long timeout); 330extern 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;
1541extern unsigned int sysctl_sched_features; 1542extern unsigned int sysctl_sched_features;
1542extern unsigned int sysctl_sched_migration_cost; 1543extern unsigned int sysctl_sched_migration_cost;
1543extern unsigned int sysctl_sched_nr_migrate; 1544extern unsigned int sysctl_sched_nr_migrate;
1544extern unsigned int sysctl_sched_rt_period;
1545extern 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)
1547extern unsigned int sysctl_sched_min_bal_int_shares; 1546extern unsigned int sysctl_sched_min_bal_int_shares;
1548extern unsigned int sysctl_sched_max_bal_int_shares; 1547extern 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
1554extern unsigned int sysctl_sched_rt_period;
1555extern int sysctl_sched_rt_runtime;
1555 1556
1556extern unsigned int sysctl_sched_compat_yield; 1557extern unsigned int sysctl_sched_compat_yield;
1557 1558
@@ -1648,10 +1649,10 @@ extern void release_uids(struct user_namespace *ns);
1648 1649
1649extern void do_timer(unsigned long ticks); 1650extern void do_timer(unsigned long ticks);
1650 1651
1651extern int FASTCALL(wake_up_state(struct task_struct * tsk, unsigned int state)); 1652extern int wake_up_state(struct task_struct *tsk, unsigned int state);
1652extern int FASTCALL(wake_up_process(struct task_struct * tsk)); 1653extern int wake_up_process(struct task_struct *tsk);
1653extern void FASTCALL(wake_up_new_task(struct task_struct * tsk, 1654extern 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)
1741extern struct mm_struct * mm_alloc(void); 1742extern 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 */
1744extern void FASTCALL(__mmdrop(struct mm_struct *)); 1745extern void __mmdrop(struct mm_struct *);
1745static inline void mmdrop(struct mm_struct * mm) 1746static 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
1928extern int FASTCALL(__fatal_signal_pending(struct task_struct *p)); 1929extern int __fatal_signal_pending(struct task_struct *p);
1929 1930
1930static inline int fatal_signal_pending(struct task_struct *p) 1931static 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
2028extern void normalize_rt_tasks(void); 2029extern void normalize_rt_tasks(void);
2029 2030
2030#ifdef CONFIG_FAIR_GROUP_SCHED 2031#ifdef CONFIG_GROUP_SCHED
2031 2032
2032extern struct task_group init_task_group; 2033extern struct task_group init_task_group;
2033 2034
2034extern struct task_group *sched_create_group(void); 2035extern struct task_group *sched_create_group(void);
2035extern void sched_destroy_group(struct task_group *tg); 2036extern void sched_destroy_group(struct task_group *tg);
2036extern void sched_move_task(struct task_struct *tsk); 2037extern void sched_move_task(struct task_struct *tsk);
2038#ifdef CONFIG_FAIR_GROUP_SCHED
2037extern int sched_group_set_shares(struct task_group *tg, unsigned long shares); 2039extern int sched_group_set_shares(struct task_group *tg, unsigned long shares);
2038extern unsigned long sched_group_shares(struct task_group *tg); 2040extern unsigned long sched_group_shares(struct task_group *tg);
2039 2041#endif
2042#ifdef CONFIG_RT_GROUP_SCHED
2043extern int sched_group_set_rt_runtime(struct task_group *tg,
2044 long rt_runtime_us);
2045extern 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