add sched_reset_on_fork patch. more bfs 330 -> 250 work
[kernel-bfs] / kernel-power-2.6.28 / debian / patches / bfs-330-to-350.patch
index 46af1f9..8d176ff 100644 (file)
@@ -64,44 +64,31 @@ nanosecond deadline resolution means this will never happen.
 -ck
 ---
 
- Documentation/scheduler/sched-BFS.txt |    2 
  include/linux/sched.h                 |    4 
  kernel/sched_bfs.c                    |  466 +++++++++++++++++++++-------------
  kernel/sysctl.c                       |    4 
  4 files changed, 293 insertions(+), 183 deletions(-)
 
-Index: linux-2.6.35-bfs/Documentation/scheduler/sched-BFS.txt
-===================================================================
---- linux-2.6.35-bfs.orig/Documentation/scheduler/sched-BFS.txt        2010-09-25 08:18:30.134360792 +1000
-+++ linux-2.6.35-bfs/Documentation/scheduler/sched-BFS.txt     2010-09-25 08:20:25.830887001 +1000
-@@ -257,7 +257,7 @@ uniprocessor machine, and automatically
- multiprocessor machines. The reasoning behind increasing the value on more CPUs
- is that the effective latency is decreased by virtue of there being more CPUs on
- BFS (for reasons explained above), and increasing the value allows for less
--cache contention and more throughput. Valid values are from 1 to 5000
-+cache contention and more throughput. Valid values are from 1 to 1000
- Decreasing the value will decrease latencies at the cost of decreasing
- throughput, while increasing it will improve throughput, but at the cost of
- worsening latencies. The accuracy of the rr interval is limited by HZ resolution
 Index: linux-2.6.35-bfs/include/linux/sched.h
 ===================================================================
 --- linux-2.6.35-bfs.orig/include/linux/sched.h        2010-09-25 08:18:08.792894602 +1000
 +++ linux-2.6.35-bfs/include/linux/sched.h     2010-09-25 08:20:25.822886826 +1000
-@@ -1197,7 +1197,7 @@ struct task_struct {
+@@ -1118,7 +1118,7 @@ struct task_struct {
        int prio, static_prio, normal_prio;
        unsigned int rt_priority;
  #ifdef CONFIG_SCHED_BFS
 -      int time_slice, first_time_slice;
+-      unsigned long deadline;
 +      int time_slice;
-       u64 deadline;
++      u64 deadline;
        struct list_head run_list;
        u64 last_ran;
 @@ -1547,7 +1547,7 @@ static inline void tsk_cpus_current(stru
  
  static inline void print_scheduler_version(void)
  {
--      printk(KERN_INFO"BFS CPU scheduler v0.330 by Con Kolivas.\n");
-+      printk(KERN_INFO"BFS CPU scheduler v0.350 by Con Kolivas.\n");
+-      printk(KERN_INFO"BFS CPU scheduler v0.330 by Con Kolivas ported by ToAsTcfh.\n");
++      printk(KERN_INFO"BFS CPU scheduler v0.350 by Con Kolivas ported by ToAsTcfh.\n");
  }
  
  static inline int iso_task(struct task_struct *p)
@@ -191,7 +178,7 @@ Index: linux-2.6.35-bfs/kernel/sched_bfs.c
  #ifdef CONFIG_SCHEDSTATS
  
        /* latency stats */
-@@ -286,15 +298,6 @@ struct root_domain {
+@@ -290,12 +290,4 @@ struct root_domain {
  static struct root_domain def_root_domain;
  #endif
  
@@ -203,10 +190,7 @@ Index: linux-2.6.35-bfs/kernel/sched_bfs.c
 -      return 0;
 -#endif
 -}
--
- #define rcu_dereference_check_sched_domain(p) \
-       rcu_dereference_check((p), \
-                             rcu_read_lock_sched_held() || \
+
 @@ -310,17 +313,65 @@ static inline int cpu_of(struct rq *rq)
  #define for_each_domain(cpu, __sd) \
        for (__sd = rcu_dereference_check_sched_domain(cpu_rq(cpu)->sd); __sd; __sd = __sd->parent)
@@ -283,7 +267,7 @@ Index: linux-2.6.35-bfs/kernel/sched_bfs.c
 + * when we're not updating niffies.
 + * Looking up task_rq must be done under grq.lock to be safe.
   */
--inline void update_rq_clock(struct rq *rq)
+-static inline void update_rq_clock(struct rq *rq)
 +static inline void update_rq_clock(struct rq *rq)
  {
 -      if (!rq->skip_clock_update)