Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 69088
b: refs/heads/master
c: 5522d5d
h: refs/heads/master
v: v3
  • Loading branch information
Ingo Molnar committed Oct 15, 2007
1 parent 79260a9 commit 93bc912
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 20 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b9fa3df33f9166daf81bfa8253d339f5a7726122
refs/heads/master: 5522d5d5f70005faeffff3ffc0cfa8eec0155de4
4 changes: 2 additions & 2 deletions trunk/include/linux/sched.h
Original file line number Diff line number Diff line change
Expand Up @@ -863,7 +863,7 @@ struct rq;
struct sched_domain;

struct sched_class {
struct sched_class *next;
const struct sched_class *next;

void (*enqueue_task) (struct rq *rq, struct task_struct *p, int wakeup);
void (*dequeue_task) (struct rq *rq, struct task_struct *p, int sleep);
Expand Down Expand Up @@ -949,7 +949,7 @@ struct task_struct {

int prio, static_prio, normal_prio;
struct list_head run_list;
struct sched_class *sched_class;
const struct sched_class *sched_class;
struct sched_entity se;

#ifdef CONFIG_PREEMPT_NOTIFIERS
Expand Down
17 changes: 5 additions & 12 deletions trunk/kernel/sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -847,9 +847,9 @@ static int balance_tasks(struct rq *this_rq, int this_cpu, struct rq *busiest,
int *this_best_prio, struct rq_iterator *iterator);

#include "sched_stats.h"
#include "sched_rt.c"
#include "sched_fair.c"
#include "sched_idletask.c"
#include "sched_fair.c"
#include "sched_rt.c"
#ifdef CONFIG_SCHED_DEBUG
# include "sched_debug.c"
#endif
Expand Down Expand Up @@ -2251,7 +2251,7 @@ static int move_tasks(struct rq *this_rq, int this_cpu, struct rq *busiest,
struct sched_domain *sd, enum cpu_idle_type idle,
int *all_pinned)
{
struct sched_class *class = sched_class_highest;
const struct sched_class *class = sched_class_highest;
unsigned long total_load_moved = 0;
int this_best_prio = this_rq->curr->prio;

Expand All @@ -2276,7 +2276,7 @@ static int move_tasks(struct rq *this_rq, int this_cpu, struct rq *busiest,
static int move_one_task(struct rq *this_rq, int this_cpu, struct rq *busiest,
struct sched_domain *sd, enum cpu_idle_type idle)
{
struct sched_class *class;
const struct sched_class *class;
int this_best_prio = MAX_PRIO;

for (class = sched_class_highest; class; class = class->next)
Expand Down Expand Up @@ -3432,7 +3432,7 @@ static inline void schedule_debug(struct task_struct *prev)
static inline struct task_struct *
pick_next_task(struct rq *rq, struct task_struct *prev)
{
struct sched_class *class;
const struct sched_class *class;
struct task_struct *p;

/*
Expand Down Expand Up @@ -6504,13 +6504,6 @@ void __init sched_init(void)
int highest_cpu = 0;
int i, j;

/*
* Link up the scheduling class hierarchy:
*/
rt_sched_class.next = &fair_sched_class;
fair_sched_class.next = &idle_sched_class;
idle_sched_class.next = NULL;

for_each_possible_cpu(i) {
struct rt_prio_array *array;
struct rq *rq;
Expand Down
5 changes: 2 additions & 3 deletions trunk/kernel/sched_fair.c
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,6 @@ const_debug unsigned int sysctl_sched_batch_wakeup_granularity = 25000000UL;
*/
const_debug unsigned int sysctl_sched_wakeup_granularity = 2000000UL;

extern struct sched_class fair_sched_class;

/**************************************************************
* CFS operations on generic schedulable entities:
*/
Expand Down Expand Up @@ -1031,7 +1029,8 @@ static void set_curr_task_fair(struct rq *rq)
/*
* All the scheduling class methods:
*/
struct sched_class fair_sched_class __read_mostly = {
static const struct sched_class fair_sched_class = {
.next = &idle_sched_class,
.enqueue_task = enqueue_task_fair,
.dequeue_task = dequeue_task_fair,
.yield_task = yield_task_fair,
Expand Down
3 changes: 2 additions & 1 deletion trunk/kernel/sched_idletask.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@ static void set_curr_task_idle(struct rq *rq)
/*
* Simple, special scheduling class for the per-CPU idle tasks:
*/
static struct sched_class idle_sched_class __read_mostly = {
const struct sched_class idle_sched_class = {
/* .next is NULL */
/* no enqueue/yield_task for idle tasks */

/* dequeue is not valid, we print a debug message there: */
Expand Down
3 changes: 2 additions & 1 deletion trunk/kernel/sched_rt.c
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,8 @@ static void set_curr_task_rt(struct rq *rq)
p->se.exec_start = rq->clock;
}

static struct sched_class rt_sched_class __read_mostly = {
const struct sched_class rt_sched_class = {
.next = &fair_sched_class,
.enqueue_task = enqueue_task_rt,
.dequeue_task = dequeue_task_rt,
.yield_task = yield_task_rt,
Expand Down

0 comments on commit 93bc912

Please sign in to comment.