Patches contributed by Eötvös Lorand University


commit 84a1d7a2f91d2f26d21026973dbf3023d17c701f
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Aug 9 11:16:49 2007 +0200

    sched: remove the 'u64 now' parameter from update_curr_load()
    
    remove the 'u64 now' parameter from update_curr_load().
    
    ( identity transformation that causes no change in functionality. )
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/kernel/sched.c b/kernel/sched.c
index 0619178efa01..5d5859c2e019 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -782,7 +782,7 @@ static void __update_curr_load(struct rq *rq, struct load_stat *ls)
  * This function is called /before/ updating rq->ls.load
  * and when switching tasks.
  */
-static void update_curr_load(struct rq *rq, u64 now)
+static void update_curr_load(struct rq *rq)
 {
 	struct load_stat *ls = &rq->ls;
 	u64 start;
@@ -801,14 +801,14 @@ static void update_curr_load(struct rq *rq, u64 now)
 static inline void
 inc_load(struct rq *rq, const struct task_struct *p, u64 now)
 {
-	update_curr_load(rq, now);
+	update_curr_load(rq);
 	update_load_add(&rq->ls.load, p->se.load.weight);
 }
 
 static inline void
 dec_load(struct rq *rq, const struct task_struct *p, u64 now)
 {
-	update_curr_load(rq, now);
+	update_curr_load(rq);
 	update_load_sub(&rq->ls.load, p->se.load.weight);
 }
 
@@ -1971,7 +1971,7 @@ static void update_cpu_load(struct rq *this_rq)
 		goto do_avg;
 
 	/* Update delta_fair/delta_exec fields first */
-	update_curr_load(this_rq, now);
+	update_curr_load(this_rq);
 
 	fair_delta64 = ls->delta_fair + 1;
 	ls->delta_fair = 0;

commit ee0827d8b5271094380410cf21d8c48c109a773a
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Aug 9 11:16:49 2007 +0200

    sched: remove the 'u64 now' parameter from ->task_new()
    
    remove the 'u64 now' parameter from ->task_new().
    
    ( identity transformation that causes no change in functionality. )
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/include/linux/sched.h b/include/linux/sched.h
index 9afb66a49358..682ef87da6eb 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -872,7 +872,7 @@ struct sched_class {
 
 	void (*set_curr_task) (struct rq *rq);
 	void (*task_tick) (struct rq *rq, struct task_struct *p);
-	void (*task_new) (struct rq *rq, struct task_struct *p, u64 now);
+	void (*task_new) (struct rq *rq, struct task_struct *p);
 };
 
 struct load_weight {
diff --git a/kernel/sched.c b/kernel/sched.c
index 664440160485..0619178efa01 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -1672,7 +1672,7 @@ void fastcall wake_up_new_task(struct task_struct *p, unsigned long clone_flags)
 		 * Let the scheduling class do new task startup
 		 * management (if any):
 		 */
-		p->sched_class->task_new(rq, p, now);
+		p->sched_class->task_new(rq, p);
 		inc_nr_running(p, rq, now);
 	}
 	check_preempt_curr(rq, p);
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index 103327b4275d..4a2cbde1057f 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -1020,7 +1020,7 @@ static void task_tick_fair(struct rq *rq, struct task_struct *curr)
  * monopolize the CPU. Note: the parent runqueue is locked,
  * the child is not running yet.
  */
-static void task_new_fair(struct rq *rq, struct task_struct *p, u64 now)
+static void task_new_fair(struct rq *rq, struct task_struct *p)
 {
 	struct cfs_rq *cfs_rq = task_cfs_rq(p);
 	struct sched_entity *se = &p->se;

commit 31ee529cc2254e8b62880535ec8f21a4c5e1c091
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Aug 9 11:16:49 2007 +0200

    sched: remove the 'u64 now' parameter from ->put_prev_task()
    
    remove the 'u64 now' parameter from ->put_prev_task().
    
    ( identity transformation that causes no change in functionality. )
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/include/linux/sched.h b/include/linux/sched.h
index c6ad4071c791..9afb66a49358 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -862,7 +862,7 @@ struct sched_class {
 	void (*check_preempt_curr) (struct rq *rq, struct task_struct *p);
 
 	struct task_struct * (*pick_next_task) (struct rq *rq);
-	void (*put_prev_task) (struct rq *rq, struct task_struct *p, u64 now);
+	void (*put_prev_task) (struct rq *rq, struct task_struct *p);
 
 	unsigned long (*load_balance) (struct rq *this_rq, int this_cpu,
 			struct rq *busiest,
diff --git a/kernel/sched.c b/kernel/sched.c
index 4f9f9e9d7265..664440160485 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -3470,7 +3470,7 @@ asmlinkage void __sched schedule(void)
 	if (unlikely(!rq->nr_running))
 		idle_balance(cpu, rq);
 
-	prev->sched_class->put_prev_task(rq, prev, now);
+	prev->sched_class->put_prev_task(rq, prev);
 	next = pick_next_task(rq, prev);
 
 	sched_info_switch(prev, next);
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index 0b23aaf074fa..103327b4275d 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -878,7 +878,7 @@ static struct task_struct *pick_next_task_fair(struct rq *rq)
 /*
  * Account for a descheduled task:
  */
-static void put_prev_task_fair(struct rq *rq, struct task_struct *prev, u64 now)
+static void put_prev_task_fair(struct rq *rq, struct task_struct *prev)
 {
 	struct sched_entity *se = &prev->se;
 	struct cfs_rq *cfs_rq;
diff --git a/kernel/sched_idletask.c b/kernel/sched_idletask.c
index 9f4c28f858fe..3503fb2d9f96 100644
--- a/kernel/sched_idletask.c
+++ b/kernel/sched_idletask.c
@@ -33,7 +33,7 @@ dequeue_task_idle(struct rq *rq, struct task_struct *p, int sleep)
 	spin_lock_irq(&rq->lock);
 }
 
-static void put_prev_task_idle(struct rq *rq, struct task_struct *prev, u64 now)
+static void put_prev_task_idle(struct rq *rq, struct task_struct *prev)
 {
 }
 
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
index c0b0d6237bb6..dcdcad632fd9 100644
--- a/kernel/sched_rt.c
+++ b/kernel/sched_rt.c
@@ -92,7 +92,7 @@ static struct task_struct *pick_next_task_rt(struct rq *rq)
 	return next;
 }
 
-static void put_prev_task_rt(struct rq *rq, struct task_struct *p, u64 now)
+static void put_prev_task_rt(struct rq *rq, struct task_struct *p)
 {
 	update_curr_rt(rq);
 	p->se.exec_start = 0;

commit ff95f3df54609d9d4b9572f8a67d09922a645043
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Aug 9 11:16:49 2007 +0200

    sched: remove the 'u64 now' parameter from pick_next_task()
    
    remove the 'u64 now' parameter from pick_next_task().
    
    ( identity transformation that causes no change in functionality. )
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/kernel/sched.c b/kernel/sched.c
index b67a288a0f1f..4f9f9e9d7265 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -3400,7 +3400,7 @@ static inline void schedule_debug(struct task_struct *prev)
  * Pick up the highest-prio task:
  */
 static inline struct task_struct *
-pick_next_task(struct rq *rq, struct task_struct *prev, u64 now)
+pick_next_task(struct rq *rq, struct task_struct *prev)
 {
 	struct sched_class *class;
 	struct task_struct *p;
@@ -3471,7 +3471,7 @@ asmlinkage void __sched schedule(void)
 		idle_balance(cpu, rq);
 
 	prev->sched_class->put_prev_task(rq, prev, now);
-	next = pick_next_task(rq, prev, now);
+	next = pick_next_task(rq, prev);
 
 	sched_info_switch(prev, next);
 
@@ -5222,7 +5222,7 @@ static void migrate_dead_tasks(unsigned int dead_cpu)
 		if (!rq->nr_running)
 			break;
 		update_rq_clock(rq);
-		next = pick_next_task(rq, rq->curr, rq->clock);
+		next = pick_next_task(rq, rq->curr);
 		if (!next)
 			break;
 		migrate_dead(dead_cpu, next);

commit fb8d47240246e20f864f0724a23a7220cd1c59ac
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Aug 9 11:16:48 2007 +0200

    sched: remove the 'u64 now' parameter from ->pick_next_task()
    
    remove the 'u64 now' parameter from ->pick_next_task().
    
    ( identity transformation that causes no change in functionality. )
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/include/linux/sched.h b/include/linux/sched.h
index c7815a6b70e0..c6ad4071c791 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -861,7 +861,7 @@ struct sched_class {
 
 	void (*check_preempt_curr) (struct rq *rq, struct task_struct *p);
 
-	struct task_struct * (*pick_next_task) (struct rq *rq, u64 now);
+	struct task_struct * (*pick_next_task) (struct rq *rq);
 	void (*put_prev_task) (struct rq *rq, struct task_struct *p, u64 now);
 
 	unsigned long (*load_balance) (struct rq *this_rq, int this_cpu,
diff --git a/kernel/sched.c b/kernel/sched.c
index e51d75f4b4d7..b67a288a0f1f 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -3410,14 +3410,14 @@ pick_next_task(struct rq *rq, struct task_struct *prev, u64 now)
 	 * the fair class we can call that function directly:
 	 */
 	if (likely(rq->nr_running == rq->cfs.nr_running)) {
-		p = fair_sched_class.pick_next_task(rq, now);
+		p = fair_sched_class.pick_next_task(rq);
 		if (likely(p))
 			return p;
 	}
 
 	class = sched_class_highest;
 	for ( ; ; ) {
-		p = class->pick_next_task(rq, now);
+		p = class->pick_next_task(rq);
 		if (p)
 			return p;
 		/*
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index fb4d614af2c3..0b23aaf074fa 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -859,7 +859,7 @@ static void check_preempt_curr_fair(struct rq *rq, struct task_struct *p)
 		__check_preempt_curr_fair(cfs_rq, &p->se, &curr->se, gran);
 }
 
-static struct task_struct *pick_next_task_fair(struct rq *rq, u64 now)
+static struct task_struct *pick_next_task_fair(struct rq *rq)
 {
 	struct cfs_rq *cfs_rq = &rq->cfs;
 	struct sched_entity *se;
diff --git a/kernel/sched_idletask.c b/kernel/sched_idletask.c
index f69e083e0d96..9f4c28f858fe 100644
--- a/kernel/sched_idletask.c
+++ b/kernel/sched_idletask.c
@@ -13,7 +13,7 @@ static void check_preempt_curr_idle(struct rq *rq, struct task_struct *p)
 	resched_task(rq->idle);
 }
 
-static struct task_struct *pick_next_task_idle(struct rq *rq, u64 now)
+static struct task_struct *pick_next_task_idle(struct rq *rq)
 {
 	schedstat_inc(rq, sched_goidle);
 
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
index 60591e2512b1..c0b0d6237bb6 100644
--- a/kernel/sched_rt.c
+++ b/kernel/sched_rt.c
@@ -73,7 +73,7 @@ static void check_preempt_curr_rt(struct rq *rq, struct task_struct *p)
 		resched_task(rq->curr);
 }
 
-static struct task_struct *pick_next_task_rt(struct rq *rq, u64 now)
+static struct task_struct *pick_next_task_rt(struct rq *rq)
 {
 	struct rt_prio_array *array = &rq->rt.active;
 	struct task_struct *next;

commit f02231e51a280f1a0fee4d03ad8f50048e06cced
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Aug 9 11:16:48 2007 +0200

    sched: remove the 'u64 now' parameter from ->dequeue_task()
    
    remove the 'u64 now' parameter from ->dequeue_task().
    
    ( identity transformation that causes no change in functionality. )
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/include/linux/sched.h b/include/linux/sched.h
index b11dedfbab6e..c7815a6b70e0 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -856,8 +856,7 @@ struct sched_class {
 	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, u64 now);
+	void (*dequeue_task) (struct rq *rq, struct task_struct *p, int sleep);
 	void (*yield_task) (struct rq *rq, struct task_struct *p);
 
 	void (*check_preempt_curr) (struct rq *rq, struct task_struct *p);
diff --git a/kernel/sched.c b/kernel/sched.c
index 43ae1566b8fc..e51d75f4b4d7 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -859,7 +859,7 @@ enqueue_task(struct rq *rq, struct task_struct *p, int wakeup, u64 now)
 static void
 dequeue_task(struct rq *rq, struct task_struct *p, int sleep, u64 now)
 {
-	p->sched_class->dequeue_task(rq, p, sleep, now);
+	p->sched_class->dequeue_task(rq, p, sleep);
 	p->se.on_rq = 0;
 }
 
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index 81db9626b7ed..fb4d614af2c3 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -800,8 +800,7 @@ static void enqueue_task_fair(struct rq *rq, struct task_struct *p, int wakeup)
  * decreased. We remove the task from the rbtree and
  * update the fair scheduling stats:
  */
-static void
-dequeue_task_fair(struct rq *rq, struct task_struct *p, int sleep, u64 now)
+static void dequeue_task_fair(struct rq *rq, struct task_struct *p, int sleep)
 {
 	struct cfs_rq *cfs_rq;
 	struct sched_entity *se = &p->se;
diff --git a/kernel/sched_idletask.c b/kernel/sched_idletask.c
index dc9e1068911f..f69e083e0d96 100644
--- a/kernel/sched_idletask.c
+++ b/kernel/sched_idletask.c
@@ -25,7 +25,7 @@ static struct task_struct *pick_next_task_idle(struct rq *rq, u64 now)
  * message if some code attempts to do it:
  */
 static void
-dequeue_task_idle(struct rq *rq, struct task_struct *p, int sleep, u64 now)
+dequeue_task_idle(struct rq *rq, struct task_struct *p, int sleep)
 {
 	spin_unlock_irq(&rq->lock);
 	printk(KERN_ERR "bad: scheduling from the idle thread!\n");
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
index 1edaa99e0d3d..60591e2512b1 100644
--- a/kernel/sched_rt.c
+++ b/kernel/sched_rt.c
@@ -36,8 +36,7 @@ static void enqueue_task_rt(struct rq *rq, struct task_struct *p, int wakeup)
 /*
  * Adding/removing a task to/from a priority array:
  */
-static void
-dequeue_task_rt(struct rq *rq, struct task_struct *p, int sleep, u64 now)
+static void dequeue_task_rt(struct rq *rq, struct task_struct *p, int sleep)
 {
 	struct rt_prio_array *array = &rq->rt.active;
 

commit fd390f6a04f22fb457d6fd1855964f79536525de
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Aug 9 11:16:48 2007 +0200

    sched: remove the 'u64 now' parameter from ->enqueue_task()
    
    remove the 'u64 now' parameter from ->enqueue_task().
    
    ( identity transformation that causes no change in functionality. )
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/include/linux/sched.h b/include/linux/sched.h
index 62ddddb49db3..b11dedfbab6e 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -855,8 +855,7 @@ struct sched_domain;
 struct sched_class {
 	struct sched_class *next;
 
-	void (*enqueue_task) (struct rq *rq, struct task_struct *p,
-			      int wakeup, u64 now);
+	void (*enqueue_task) (struct rq *rq, struct task_struct *p, int wakeup);
 	void (*dequeue_task) (struct rq *rq, struct task_struct *p,
 			      int sleep, u64 now);
 	void (*yield_task) (struct rq *rq, struct task_struct *p);
diff --git a/kernel/sched.c b/kernel/sched.c
index 49a5fb0cdea0..43ae1566b8fc 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -852,7 +852,7 @@ static void
 enqueue_task(struct rq *rq, struct task_struct *p, int wakeup, u64 now)
 {
 	sched_info_queued(p);
-	p->sched_class->enqueue_task(rq, p, wakeup, now);
+	p->sched_class->enqueue_task(rq, p, wakeup);
 	p->se.on_rq = 1;
 }
 
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index a11d18861a3c..81db9626b7ed 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -782,8 +782,7 @@ static inline int is_same_group(struct task_struct *curr, struct task_struct *p)
  * increased. Here we update the fair scheduling stats and
  * then put the task into the rbtree:
  */
-static void
-enqueue_task_fair(struct rq *rq, struct task_struct *p, int wakeup, u64 now)
+static void enqueue_task_fair(struct rq *rq, struct task_struct *p, int wakeup)
 {
 	struct cfs_rq *cfs_rq;
 	struct sched_entity *se = &p->se;
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
index fa5a46273b79..1edaa99e0d3d 100644
--- a/kernel/sched_rt.c
+++ b/kernel/sched_rt.c
@@ -25,8 +25,7 @@ static inline void update_curr_rt(struct rq *rq)
 	curr->se.exec_start = rq->clock;
 }
 
-static void
-enqueue_task_rt(struct rq *rq, struct task_struct *p, int wakeup, u64 now)
+static void enqueue_task_rt(struct rq *rq, struct task_struct *p, int wakeup)
 {
 	struct rt_prio_array *array = &rq->rt.active;
 

commit f1e14ef64d3e1bdcb3437f1e926fe5a7f861aa0a
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Aug 9 11:16:48 2007 +0200

    sched: remove the 'u64 now' parameter from update_curr_rt()
    
    remove the 'u64 now' parameter from update_curr_rt().
    
    ( identity transformation that causes no change in functionality. )
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
index 5fbd87ad0f56..fa5a46273b79 100644
--- a/kernel/sched_rt.c
+++ b/kernel/sched_rt.c
@@ -7,7 +7,7 @@
  * Update the current task's runtime statistics. Skip current tasks that
  * are not in our scheduling class.
  */
-static inline void update_curr_rt(struct rq *rq, u64 now)
+static inline void update_curr_rt(struct rq *rq)
 {
 	struct task_struct *curr = rq->curr;
 	u64 delta_exec;
@@ -42,7 +42,7 @@ dequeue_task_rt(struct rq *rq, struct task_struct *p, int sleep, u64 now)
 {
 	struct rt_prio_array *array = &rq->rt.active;
 
-	update_curr_rt(rq, now);
+	update_curr_rt(rq);
 
 	list_del(&p->run_list);
 	if (list_empty(array->queue + p->prio))
@@ -96,7 +96,7 @@ static struct task_struct *pick_next_task_rt(struct rq *rq, u64 now)
 
 static void put_prev_task_rt(struct rq *rq, struct task_struct *p, u64 now)
 {
-	update_curr_rt(rq, now);
+	update_curr_rt(rq);
 	p->se.exec_start = 0;
 }
 

commit ab6cde2692c76b88ea430aa188ea50303216a955
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Aug 9 11:16:48 2007 +0200

    sched: remove the 'u64 now' parameter from put_prev_entity()
    
    remove the 'u64 now' parameter from put_prev_entity().
    
    ( identity transformation that causes no change in functionality. )
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index 54afe8045382..a11d18861a3c 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -647,8 +647,7 @@ static struct sched_entity *pick_next_entity(struct cfs_rq *cfs_rq)
 	return se;
 }
 
-static void
-put_prev_entity(struct cfs_rq *cfs_rq, struct sched_entity *prev, u64 now)
+static void put_prev_entity(struct cfs_rq *cfs_rq, struct sched_entity *prev)
 {
 	/*
 	 * If still on the runqueue then deactivate_task()
@@ -888,7 +887,7 @@ static void put_prev_task_fair(struct rq *rq, struct task_struct *prev, u64 now)
 
 	for_each_sched_entity(se) {
 		cfs_rq = cfs_rq_of(se);
-		put_prev_entity(cfs_rq, se, now);
+		put_prev_entity(cfs_rq, se);
 	}
 }
 

commit 9948f4b2a728e9ca4928a9a97eb09df955f5b17c
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Aug 9 11:16:48 2007 +0200

    sched: remove the 'u64 now' parameter from pick_next_entity()
    
    remove the 'u64 now' parameter from pick_next_entity().
    
    ( identity transformation that causes no change in functionality. )
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index 538e09f17d71..54afe8045382 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -638,7 +638,7 @@ set_next_entity(struct cfs_rq *cfs_rq, struct sched_entity *se)
 	set_cfs_rq_curr(cfs_rq, se);
 }
 
-static struct sched_entity *pick_next_entity(struct cfs_rq *cfs_rq, u64 now)
+static struct sched_entity *pick_next_entity(struct cfs_rq *cfs_rq)
 {
 	struct sched_entity *se = __pick_next_entity(cfs_rq);
 
@@ -871,7 +871,7 @@ static struct task_struct *pick_next_task_fair(struct rq *rq, u64 now)
 		return NULL;
 
 	do {
-		se = pick_next_entity(cfs_rq, now);
+		se = pick_next_entity(cfs_rq);
 		cfs_rq = group_cfs_rq(se);
 	} while (cfs_rq);