forked from luck/tmp_suning_uos_patched
sched: Move struct sched_class to kernel/sched/sched.h
It's used internally only. Signed-off-by: Li Zefan <lizefan@huawei.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/5135A79F.8090502@huawei.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
b13095f07f
commit
c82ba9fa75
|
@ -917,65 +917,6 @@ struct mempolicy;
|
||||||
struct pipe_inode_info;
|
struct pipe_inode_info;
|
||||||
struct uts_namespace;
|
struct uts_namespace;
|
||||||
|
|
||||||
struct rq;
|
|
||||||
struct sched_domain;
|
|
||||||
|
|
||||||
#define ENQUEUE_WAKEUP 1
|
|
||||||
#define ENQUEUE_HEAD 2
|
|
||||||
#ifdef CONFIG_SMP
|
|
||||||
#define ENQUEUE_WAKING 4 /* sched_class::task_waking was called */
|
|
||||||
#else
|
|
||||||
#define ENQUEUE_WAKING 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define DEQUEUE_SLEEP 1
|
|
||||||
|
|
||||||
struct sched_class {
|
|
||||||
const struct sched_class *next;
|
|
||||||
|
|
||||||
void (*enqueue_task) (struct rq *rq, struct task_struct *p, int flags);
|
|
||||||
void (*dequeue_task) (struct rq *rq, struct task_struct *p, int flags);
|
|
||||||
void (*yield_task) (struct rq *rq);
|
|
||||||
bool (*yield_to_task) (struct rq *rq, struct task_struct *p, bool preempt);
|
|
||||||
|
|
||||||
void (*check_preempt_curr) (struct rq *rq, struct task_struct *p, int flags);
|
|
||||||
|
|
||||||
struct task_struct * (*pick_next_task) (struct rq *rq);
|
|
||||||
void (*put_prev_task) (struct rq *rq, struct task_struct *p);
|
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
|
||||||
int (*select_task_rq)(struct task_struct *p, int sd_flag, int flags);
|
|
||||||
void (*migrate_task_rq)(struct task_struct *p, int next_cpu);
|
|
||||||
|
|
||||||
void (*pre_schedule) (struct rq *this_rq, struct task_struct *task);
|
|
||||||
void (*post_schedule) (struct rq *this_rq);
|
|
||||||
void (*task_waking) (struct task_struct *task);
|
|
||||||
void (*task_woken) (struct rq *this_rq, struct task_struct *task);
|
|
||||||
|
|
||||||
void (*set_cpus_allowed)(struct task_struct *p,
|
|
||||||
const struct cpumask *newmask);
|
|
||||||
|
|
||||||
void (*rq_online)(struct rq *rq);
|
|
||||||
void (*rq_offline)(struct rq *rq);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void (*set_curr_task) (struct rq *rq);
|
|
||||||
void (*task_tick) (struct rq *rq, struct task_struct *p, int queued);
|
|
||||||
void (*task_fork) (struct task_struct *p);
|
|
||||||
|
|
||||||
void (*switched_from) (struct rq *this_rq, struct task_struct *task);
|
|
||||||
void (*switched_to) (struct rq *this_rq, struct task_struct *task);
|
|
||||||
void (*prio_changed) (struct rq *this_rq, struct task_struct *task,
|
|
||||||
int oldprio);
|
|
||||||
|
|
||||||
unsigned int (*get_rr_interval) (struct rq *rq,
|
|
||||||
struct task_struct *task);
|
|
||||||
|
|
||||||
#ifdef CONFIG_FAIR_GROUP_SCHED
|
|
||||||
void (*task_move_group) (struct task_struct *p, int on_rq);
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
struct load_weight {
|
struct load_weight {
|
||||||
unsigned long weight, inv_weight;
|
unsigned long weight, inv_weight;
|
||||||
};
|
};
|
||||||
|
|
|
@ -951,6 +951,61 @@ enum cpuacct_stat_index {
|
||||||
CPUACCT_STAT_NSTATS,
|
CPUACCT_STAT_NSTATS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define ENQUEUE_WAKEUP 1
|
||||||
|
#define ENQUEUE_HEAD 2
|
||||||
|
#ifdef CONFIG_SMP
|
||||||
|
#define ENQUEUE_WAKING 4 /* sched_class::task_waking was called */
|
||||||
|
#else
|
||||||
|
#define ENQUEUE_WAKING 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define DEQUEUE_SLEEP 1
|
||||||
|
|
||||||
|
struct sched_class {
|
||||||
|
const struct sched_class *next;
|
||||||
|
|
||||||
|
void (*enqueue_task) (struct rq *rq, struct task_struct *p, int flags);
|
||||||
|
void (*dequeue_task) (struct rq *rq, struct task_struct *p, int flags);
|
||||||
|
void (*yield_task) (struct rq *rq);
|
||||||
|
bool (*yield_to_task) (struct rq *rq, struct task_struct *p, bool preempt);
|
||||||
|
|
||||||
|
void (*check_preempt_curr) (struct rq *rq, struct task_struct *p, int flags);
|
||||||
|
|
||||||
|
struct task_struct * (*pick_next_task) (struct rq *rq);
|
||||||
|
void (*put_prev_task) (struct rq *rq, struct task_struct *p);
|
||||||
|
|
||||||
|
#ifdef CONFIG_SMP
|
||||||
|
int (*select_task_rq)(struct task_struct *p, int sd_flag, int flags);
|
||||||
|
void (*migrate_task_rq)(struct task_struct *p, int next_cpu);
|
||||||
|
|
||||||
|
void (*pre_schedule) (struct rq *this_rq, struct task_struct *task);
|
||||||
|
void (*post_schedule) (struct rq *this_rq);
|
||||||
|
void (*task_waking) (struct task_struct *task);
|
||||||
|
void (*task_woken) (struct rq *this_rq, struct task_struct *task);
|
||||||
|
|
||||||
|
void (*set_cpus_allowed)(struct task_struct *p,
|
||||||
|
const struct cpumask *newmask);
|
||||||
|
|
||||||
|
void (*rq_online)(struct rq *rq);
|
||||||
|
void (*rq_offline)(struct rq *rq);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void (*set_curr_task) (struct rq *rq);
|
||||||
|
void (*task_tick) (struct rq *rq, struct task_struct *p, int queued);
|
||||||
|
void (*task_fork) (struct task_struct *p);
|
||||||
|
|
||||||
|
void (*switched_from) (struct rq *this_rq, struct task_struct *task);
|
||||||
|
void (*switched_to) (struct rq *this_rq, struct task_struct *task);
|
||||||
|
void (*prio_changed) (struct rq *this_rq, struct task_struct *task,
|
||||||
|
int oldprio);
|
||||||
|
|
||||||
|
unsigned int (*get_rr_interval) (struct rq *rq,
|
||||||
|
struct task_struct *task);
|
||||||
|
|
||||||
|
#ifdef CONFIG_FAIR_GROUP_SCHED
|
||||||
|
void (*task_move_group) (struct task_struct *p, int on_rq);
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
#define sched_class_highest (&stop_sched_class)
|
#define sched_class_highest (&stop_sched_class)
|
||||||
#define for_each_class(class) \
|
#define for_each_class(class) \
|
||||||
|
|
Loading…
Reference in New Issue
Block a user