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
					
				
			
		
					 2 changed files with 55 additions and 59 deletions
				
			
		|  | @ -951,6 +951,61 @@ enum cpuacct_stat_index { | |||
| 	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 for_each_class(class) \ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Li Zefan
				Li Zefan