diff options
Diffstat (limited to 'include/linux/sched.h')
| -rw-r--r-- | include/linux/sched.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 011db2f4c94c..d94ebc86887f 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -998,6 +998,7 @@ struct sched_class { | |||
| 998 | struct rq *busiest, struct sched_domain *sd, | 998 | struct rq *busiest, struct sched_domain *sd, |
| 999 | enum cpu_idle_type idle); | 999 | enum cpu_idle_type idle); |
| 1000 | void (*pre_schedule) (struct rq *this_rq, struct task_struct *task); | 1000 | void (*pre_schedule) (struct rq *this_rq, struct task_struct *task); |
| 1001 | int (*needs_post_schedule) (struct rq *this_rq); | ||
| 1001 | void (*post_schedule) (struct rq *this_rq); | 1002 | void (*post_schedule) (struct rq *this_rq); |
| 1002 | void (*task_wake_up) (struct rq *this_rq, struct task_struct *task); | 1003 | void (*task_wake_up) (struct rq *this_rq, struct task_struct *task); |
| 1003 | 1004 | ||
| @@ -1052,6 +1053,10 @@ struct sched_entity { | |||
| 1052 | u64 last_wakeup; | 1053 | u64 last_wakeup; |
| 1053 | u64 avg_overlap; | 1054 | u64 avg_overlap; |
| 1054 | 1055 | ||
| 1056 | u64 start_runtime; | ||
| 1057 | u64 avg_wakeup; | ||
| 1058 | u64 nr_migrations; | ||
| 1059 | |||
| 1055 | #ifdef CONFIG_SCHEDSTATS | 1060 | #ifdef CONFIG_SCHEDSTATS |
| 1056 | u64 wait_start; | 1061 | u64 wait_start; |
| 1057 | u64 wait_max; | 1062 | u64 wait_max; |
| @@ -1067,7 +1072,6 @@ struct sched_entity { | |||
| 1067 | u64 exec_max; | 1072 | u64 exec_max; |
| 1068 | u64 slice_max; | 1073 | u64 slice_max; |
| 1069 | 1074 | ||
| 1070 | u64 nr_migrations; | ||
| 1071 | u64 nr_migrations_cold; | 1075 | u64 nr_migrations_cold; |
| 1072 | u64 nr_failed_migrations_affine; | 1076 | u64 nr_failed_migrations_affine; |
| 1073 | u64 nr_failed_migrations_running; | 1077 | u64 nr_failed_migrations_running; |
| @@ -1164,6 +1168,7 @@ struct task_struct { | |||
| 1164 | #endif | 1168 | #endif |
| 1165 | 1169 | ||
| 1166 | struct list_head tasks; | 1170 | struct list_head tasks; |
| 1171 | struct plist_node pushable_tasks; | ||
| 1167 | 1172 | ||
| 1168 | struct mm_struct *mm, *active_mm; | 1173 | struct mm_struct *mm, *active_mm; |
| 1169 | 1174 | ||
| @@ -1673,6 +1678,16 @@ static inline int set_cpus_allowed(struct task_struct *p, cpumask_t new_mask) | |||
| 1673 | return set_cpus_allowed_ptr(p, &new_mask); | 1678 | return set_cpus_allowed_ptr(p, &new_mask); |
| 1674 | } | 1679 | } |
| 1675 | 1680 | ||
| 1681 | /* | ||
| 1682 | * Architectures can set this to 1 if they have specified | ||
| 1683 | * CONFIG_HAVE_UNSTABLE_SCHED_CLOCK in their arch Kconfig, | ||
| 1684 | * but then during bootup it turns out that sched_clock() | ||
| 1685 | * is reliable after all: | ||
| 1686 | */ | ||
| 1687 | #ifdef CONFIG_HAVE_UNSTABLE_SCHED_CLOCK | ||
| 1688 | extern int sched_clock_stable; | ||
| 1689 | #endif | ||
| 1690 | |||
| 1676 | extern unsigned long long sched_clock(void); | 1691 | extern unsigned long long sched_clock(void); |
| 1677 | 1692 | ||
| 1678 | extern void sched_clock_init(void); | 1693 | extern void sched_clock_init(void); |
