Author: cactus                       Date: Fri Sep 25 16:19:28 2009 GMT
Module: packages                      Tag: Titanium
---- Log message:
- bfs up to 232

---- Files affected:
packages/kernel-desktop:
   kernel-desktop-sched-bfs.patch (1.1.2.7 -> 1.1.2.8) 

---- Diffs:

================================================================
Index: packages/kernel-desktop/kernel-desktop-sched-bfs.patch
diff -u packages/kernel-desktop/kernel-desktop-sched-bfs.patch:1.1.2.7 
packages/kernel-desktop/kernel-desktop-sched-bfs.patch:1.1.2.8
--- packages/kernel-desktop/kernel-desktop-sched-bfs.patch:1.1.2.7      Tue Sep 
22 02:44:22 2009
+++ packages/kernel-desktop/kernel-desktop-sched-bfs.patch      Fri Sep 25 
18:19:22 2009
@@ -1,4 +1,4 @@
-The Brain Fuck Scheduler v0.230 by Con Kolivas.
+The Brain Fuck Scheduler v0.232 by Con Kolivas.
 
 A single shared runqueue O(n) strict fairness earliest deadline first design.
 
@@ -38,23 +38,7 @@
  kernel/kthread.c                |    4
  kernel/posix-cpu-timers.c       |   14
  kernel/sched.c                  |10583 
----------------------------------------
- Documentation/sysctl/kernel.txt |   26
- Makefile                        |    2
- fs/pipe.c                       |    4
- fs/proc/base.c                  |    2
- include/linux/init_task.h       |   15
- include/linux/ioprio.h          |    2
- include/linux/sched.h           |  194
- init/Kconfig                    |   61
- kernel/Kconfig.preempt          |   19
- kernel/Makefile                 |    4
- kernel/delayacct.c              |    2
- kernel/exit.c                   |    6
- kernel/fork.c                   |    2
- kernel/kthread.c                |    4
- kernel/posix-cpu-timers.c       |   14
- kernel/sched.c                  |10583 
----------------------------------------
- kernel/sched_bfs.c              | 6104 +++++++++++++++++++++++
+ kernel/sched_bfs.c              | 6150 +++++++++++++++++++++++
  kernel/sched_debug.c            |  509 -
  kernel/sched_fair.c             | 1842 ------
  kernel/sched_idletask.c         |  129
@@ -64,12 +48,12 @@
  kernel/trace/trace.c            |    4
  kernel/workqueue.c              |    2
  mm/oom_kill.c                   |    2
- 26 files changed, 6213 insertions(+), 15265 deletions(-)
+ 26 files changed, 6259 insertions(+), 15265 deletions(-)
 
 Index: linux-2.6.31-bfs/Documentation/sysctl/kernel.txt
 ===================================================================
 --- linux-2.6.31-bfs.orig/Documentation/sysctl/kernel.txt      2009-09-10 
11:43:10.000000000 +1000
-+++ linux-2.6.31-bfs/Documentation/sysctl/kernel.txt   2009-09-19 
16:44:41.750240511 +1000
++++ linux-2.6.31-bfs/Documentation/sysctl/kernel.txt   2009-09-22 
18:42:26.751614798 +1000
 @@ -27,6 +27,7 @@ show up in /proc/sys/kernel:
  - domainname
  - hostname
@@ -127,7 +111,7 @@
 Index: linux-2.6.31-bfs/fs/pipe.c
 ===================================================================
 --- linux-2.6.31-bfs.orig/fs/pipe.c    2009-09-10 11:45:24.000000000 +1000
-+++ linux-2.6.31-bfs/fs/pipe.c 2009-09-19 16:44:41.751239255 +1000
++++ linux-2.6.31-bfs/fs/pipe.c 2009-09-22 18:42:26.777615327 +1000
 @@ -78,10 +78,6 @@ void pipe_wait(struct pipe_inode_info *p
  {
        DEFINE_WAIT(wait);
@@ -142,7 +126,7 @@
 Index: linux-2.6.31-bfs/include/linux/init_task.h
 ===================================================================
 --- linux-2.6.31-bfs.orig/include/linux/init_task.h    2009-09-10 
11:45:32.000000000 +1000
-+++ linux-2.6.31-bfs/include/linux/init_task.h 2009-09-19 16:44:41.784239187 
+1000
++++ linux-2.6.31-bfs/include/linux/init_task.h 2009-09-22 18:42:26.793618650 
+1000
 @@ -116,21 +116,16 @@ extern struct cred init_cred;
        .usage          = ATOMIC_INIT(2),                               \
        .flags          = PF_KTHREAD,                                   \
@@ -173,7 +157,7 @@
 Index: linux-2.6.31-bfs/include/linux/sched.h
 ===================================================================
 --- linux-2.6.31-bfs.orig/include/linux/sched.h        2009-09-10 
11:45:35.000000000 +1000
-+++ linux-2.6.31-bfs/include/linux/sched.h     2009-09-19 16:44:41.787239190 
+1000
++++ linux-2.6.31-bfs/include/linux/sched.h     2009-09-22 18:42:26.810615979 
+1000
 @@ -36,8 +36,11 @@
  #define SCHED_FIFO            1
  #define SCHED_RR              2
@@ -451,7 +435,7 @@
 Index: linux-2.6.31-bfs/kernel/sched.c
 ===================================================================
 --- linux-2.6.31-bfs.orig/kernel/sysctl.c      2009-09-10 11:45:40.000000000 
+1000
-+++ linux-2.6.31-bfs/kernel/sysctl.c   2009-09-19 16:44:41.797239567 +1000
++++ linux-2.6.31-bfs/kernel/sysctl.c   2009-09-22 18:42:26.823615207 +1000
 @@ -86,6 +86,8 @@ extern int percpu_pagelist_fraction;
  extern int compat_log;
  extern int latencytop_enabled;
@@ -642,7 +626,7 @@
 Index: linux-2.6.31-bfs/kernel/workqueue.c
 ===================================================================
 --- linux-2.6.31-bfs.orig/kernel/workqueue.c   2009-09-10 11:45:41.000000000 
+1000
-+++ linux-2.6.31-bfs/kernel/workqueue.c        2009-09-19 16:44:41.809251974 
+1000
++++ linux-2.6.31-bfs/kernel/workqueue.c        2009-09-22 18:42:26.827615694 
+1000
 @@ -317,8 +317,6 @@ static int worker_thread(void *__cwq)
        if (cwq->wq->freezeable)
                set_freezable();
@@ -655,8 +639,8 @@
 Index: linux-2.6.31-bfs/kernel/sched_fair.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.31-bfs/kernel/sched_bfs.c        2009-09-19 16:46:17.843365208 
+1000
-@@ -0,0 +1,6104 @@
++++ linux-2.6.31-bfs/kernel/sched_bfs.c        2009-09-22 19:16:28.271354482 
+1000
+@@ -0,0 +1,6150 @@
 +/*
 + *  kernel/sched_bfs.c, was sched.c
 + *
@@ -1013,8 +997,8 @@
 +static inline void grq_lock_irqsave(unsigned long *flags)
 +      __acquires(grq.lock)
 +{
-+      smp_mb();
-+      spin_lock_irqsave(&grq.lock, *flags);
++      local_irq_save(*flags);
++      grq_lock();
 +}
 +
 +static inline void grq_unlock_irqrestore(unsigned long *flags)
@@ -1040,6 +1024,29 @@
 +      return rq;
 +}
 +
++static inline struct rq
++*task_grq_lock_irq(struct task_struct *p)
++      __acquires(grq.lock)
++{
++      grq_lock_irq();
++      return task_rq(p);
++}
++
++static inline void
++time_task_grq_lock_irq(struct task_struct *p)
++      __acquires(grq.lock)
++{
++      struct rq *rq = task_grq_lock_irq(p);
++      update_rq_clock(rq);
++}
++
++static inline void
++task_grq_unlock_irq(void)
++      __releases(grq.lock)
++{
++      grq_unlock_irq();
++}
++
 +static inline void task_grq_unlock(unsigned long *flags)
 +      __releases(grq.lock)
 +{
@@ -1068,8 +1075,8 @@
 +static inline void time_grq_lock(struct rq *rq, unsigned long *flags)
 +      __acquires(grq.lock)
 +{
-+      spin_lock_irqsave(&grq.lock, *flags);
-+      update_rq_clock(rq);
++      local_irq_save(*flags);
++      time_lock_grq(rq);
 +}
 +
 +static inline struct rq *__task_grq_lock(struct task_struct *p)
@@ -1233,7 +1240,33 @@
 +{
 +      return grq.qnr;
 +}
-+#else
++
++static inline void set_cpuidle_map(unsigned long cpu)
++{
++      cpu_set(cpu, grq.cpu_idle_map);
++}
++
++static inline void clear_cpuidle_map(unsigned long cpu)
++{
++      cpu_clear(cpu, grq.cpu_idle_map);
++}
++
++static int suitable_idle_cpus(struct task_struct *p)
++{
++      return (cpus_intersects(p->cpus_allowed, grq.cpu_idle_map));
++}
++
++static inline void resched_suitable_idle(struct task_struct *p)
++{
++      cpumask_t tmp;
++
++      cpus_and(tmp, p->cpus_allowed, grq.cpu_idle_map);
++
++      if (!cpus_empty(tmp))
++              wake_up_idle_cpu(first_cpu(tmp));
++}
++
++#else /* CONFIG_SMP */
 +static inline void inc_qnr(void)
 +{
 +}
@@ -1246,7 +1279,25 @@
 +{
 +      return grq.nr_running;
 +}
-+#endif
++
++static inline void set_cpuidle_map(unsigned long cpu)
++{
++}
++
++static inline void clear_cpuidle_map(unsigned long cpu)
++{
++}
++
++/* Always called from a busy cpu on UP */
++static int suitable_idle_cpus(struct task_struct *p)
++{
++      return 0;
++}
++
++static inline void resched_suitable_idle(struct task_struct *p)
++{
++}
++#endif /* CONFIG_SMP */
 +
 +/*
 + * activate_idle_task - move idle task to the _front_ of runqueue.
@@ -1604,6 +1655,7 @@
 +#endif
 +
 +#define rq_idle(rq)   ((rq)->rq_prio == PRIO_LIMIT)
++#define task_idle(p)  ((p)->prio == PRIO_LIMIT)
 +
 +/*
 + * RT tasks preempt purely on priority. SCHED_NORMAL tasks preempt on the
@@ -1697,18 +1749,6 @@
 +      preempt_enable();
 +}
 +
-+#ifdef CONFIG_SMP
-+static int suitable_idle_cpus(struct task_struct *p)
-+{
-+      return (cpus_intersects(p->cpus_allowed, grq.cpu_idle_map));
-+}
-+#else
-+static int suitable_idle_cpus(struct task_struct *p)
-+{
-+      return 0;
-+}
-+#endif
-+
 +/***
 + * try_to_wake_up - wake up a thread
 + * @p: the to-be-woken-up thread
@@ -1834,8 +1874,7 @@
 +       * matter since that's the same as being 0. current's time_slice is
 +       * actually in rq_time_slice when it's running.
 +       */
-+      local_irq_disable();
-+      rq = task_rq(current);
++      rq = task_grq_lock_irq(current);
 +      if (likely(rq->rq_time_slice > 0)) {
 +              rq->rq_time_slice /= 2;
 +              /*
@@ -1845,7 +1884,7 @@
 +              p->first_time_slice = 1;
 +      }
 +      p->time_slice = rq->rq_time_slice;
-+      local_irq_enable();
++      task_grq_unlock_irq();
 +out:
 +      put_cpu();
 +}
@@ -2667,11 +2706,8 @@
 +      update_cpu_clock(rq, rq->curr, 1);
 +      if (!rq_idle(rq))
 +              task_running_tick(rq);
-+      else {
++      else
 +              no_iso_tick();
-+              if (unlikely(queued_notrunning()))
-+                      set_tsk_need_resched(rq->idle);
-+      }
 +}
 +
 +notrace unsigned long get_parent_ip(unsigned long addr)
@@ -2840,27 +2876,6 @@
 +      return edt;
 +}
 +
-+#ifdef CONFIG_SMP
-+static inline void set_cpuidle_map(unsigned long cpu)
-+{
-+      cpu_set(cpu, grq.cpu_idle_map);
-+}
-+
-+static inline void clear_cpuidle_map(unsigned long cpu)
-+{
-+      cpu_clear(cpu, grq.cpu_idle_map);
-+}
-+
-+#else /* CONFIG_SMP */
-+static inline void set_cpuidle_map(unsigned long cpu)
-+{
-+}
-+
-+static inline void clear_cpuidle_map(unsigned long cpu)
-+{
-+}
-+#endif /* !CONFIG_SMP */
-+
 +/*
 + * Print scheduling while atomic bug:
 + */
@@ -2906,6 +2921,14 @@
 +#endif
 +}
 +
++static inline void set_rq_task(struct rq *rq, struct task_struct *p)
++{
++      rq->rq_time_slice = p->time_slice;
++      rq->rq_deadline = p->deadline;
++      rq->rq_policy = p->policy;
++      rq->rq_prio = p->prio;
++}
++
 +/*
 + * schedule() is the main scheduler function.
 + */
@@ -2958,6 +2981,10 @@
 +              prev->deadline = rq->rq_deadline;
 +              check_deadline(prev);
 +              return_task(prev, deactivate);
++              /* Task changed affinity off this cpu */
++              if (unlikely(!cpus_intersects(prev->cpus_allowed,
++                  cpumask_of_cpu(cpu))))
++                      resched_suitable_idle(prev);
 +      }
 +
 +      if (likely(queued_notrunning())) {
@@ -2967,7 +2994,7 @@
 +              schedstat_inc(rq, sched_goidle);
 +      }
 +
-+      if (next == rq->idle)
++      if (task_idle(next))
 +              set_cpuidle_map(cpu);
 +      else
 +              clear_cpuidle_map(cpu);
@@ -2978,9 +3005,7 @@
 +      prev->timestamp = prev->last_ran = now;
 +
 +      if (likely(prev != next)) {
-+              rq->rq_time_slice = next->time_slice;
-+              rq->rq_deadline = next->deadline;
-+              rq->rq_prio = next->prio;
++              set_rq_task(rq, next);
 +
 +              sched_info_switch(prev, next);
 +              grq.nr_switches++;
@@ -4158,10 +4183,9 @@
 +{
 +      struct task_struct *p;
 +
-+      grq_lock_irq();
 +      p = current;
++      time_task_grq_lock_irq(p);
 +      schedstat_inc(this_rq(), yld_count);
-+      update_rq_clock(task_rq(p));
 +      time_slice_expired(p);
 +      requeue_task(p);
 +
@@ -4641,7 +4665,7 @@
 +int set_cpus_allowed_ptr(struct task_struct *p, const struct cpumask 
*new_mask)
 +{
 +      unsigned long flags;
-+      int running = 0;
++      int running_wrong = 0;
 +      int queued = 0;
 +      struct rq *rq;
 +      int ret = 0;
@@ -4667,10 +4691,11 @@
 +      if (cpumask_test_cpu(task_cpu(p), new_mask))
 +              goto out;
 +
-+      /* Reschedule the task, schedule() will know if it can keep running */
-+      if (task_running(p))
-+              running = 1;
-+      else
++      if (task_running(p)) {
++              /* Task is running on the wrong cpu now, reschedule it. */
++              set_tsk_need_resched(p);
++              running_wrong = 1;
++      } else
 +              set_task_cpu(p, cpumask_any_and(cpu_online_mask, new_mask));
 +
 +out:
@@ -4678,9 +4703,9 @@
 +              try_preempt(p);
 +      task_grq_unlock(&flags);
 +
-+      /* This might be a flaky way of changing cpus! */
-+      if (running)
-+              schedule();
++      if (running_wrong)
++              _cond_resched();
++
 +      return ret;
 +}
 +EXPORT_SYMBOL_GPL(set_cpus_allowed_ptr);
@@ -4934,8 +4959,10 @@
 +              cpus_and(cpus_remaining, p->cpus_allowed, cpu_online_map);
 +              cpu_clear(cpu, cpus_remaining);
 +              if (cpus_empty(cpus_remaining)) {
-+                      p->unplugged_mask = p->cpus_allowed;
-+                      p->cpus_allowed = cpu_possible_map;
++                      cpumask_copy(&p->unplugged_mask, &p->cpus_allowed);
++                      cpumask_copy(&p->cpus_allowed, &cpu_possible_map);
++                      p->rt_nr_cpus_allowed =
++                              cpumask_weight(&cpu_possible_map);
 +              }
 +      } while_each_thread(t, p);
 +
@@ -4967,7 +4994,9 @@
 +                               * them. Then clear the unplugged_mask as we've
 +                               * set all the cpus back.
 +                               */
-+                              p->cpus_allowed = p->unplugged_mask;
++                              cpumask_copy(&p->cpus_allowed, 
&p->unplugged_mask);
++                              p->rt_nr_cpus_allowed =
++                                      cpumask_weight(&p->cpus_allowed);
 +                              cpus_clear(p->unplugged_mask);
 +                      }
 +              }
@@ -4987,6 +5016,7 @@
 +static int __cpuinit
 +migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu)
 +{
++      struct task_struct *idle;
 +      int cpu = (long)hcpu;
 +      unsigned long flags;
 +      struct rq *rq;
@@ -5020,13 +5050,15 @@
 +      case CPU_DEAD_FROZEN:
 +              cpuset_lock(); /* around calls to cpuset_cpus_allowed_lock() */
 +              rq = cpu_rq(cpu);
++              idle = rq->idle;
 +              /* Idle task back to normal (off runqueue, low prio) */
 +              grq_lock_irq();
 +              remove_cpu(cpu);
-+              deactivate_task(rq->idle);
-+              rq->idle->static_prio = MAX_PRIO;
-+              __setscheduler(rq->idle, SCHED_NORMAL, 0);
-+              rq->idle->prio = PRIO_LIMIT;
++              return_task(idle, 1);
++              idle->static_prio = MAX_PRIO;
++              __setscheduler(idle, SCHED_NORMAL, 0);
++              idle->prio = PRIO_LIMIT;
++              set_rq_task(rq, idle);
 +              update_rq_clock(rq);
 +              grq_unlock_irq();
 +              cpuset_unlock();
@@ -6641,8 +6673,6 @@
 +              if (queued)
 +                      dequeue_task(p);
 +              __setscheduler(p, SCHED_NORMAL, 0);
-+              if (task_running(p))
-+                      resched_task(p);
 +              if (queued) {
 +                      enqueue_task(p);
 +                      try_preempt(p);
@@ -6764,7 +6794,7 @@
 Index: linux-2.6.31-bfs/kernel/Makefile
 ===================================================================
 --- linux-2.6.31-bfs.orig/kernel/Makefile      2009-09-10 11:45:39.000000000 
+1000
-+++ linux-2.6.31-bfs/kernel/Makefile   2009-09-19 16:44:41.825239461 +1000
++++ linux-2.6.31-bfs/kernel/Makefile   2009-09-22 18:42:26.844616476 +1000
 @@ -2,7 +2,7 @@
  # Makefile for the linux kernel.
  #
@@ -6786,7 +6816,7 @@
 Index: linux-2.6.31-bfs/kernel/kthread.c
 ===================================================================
 --- linux-2.6.31-bfs.orig/kernel/kthread.c     2009-09-10 11:45:39.000000000 
+1000
-+++ linux-2.6.31-bfs/kernel/kthread.c  2009-09-19 16:44:41.842721296 +1000
++++ linux-2.6.31-bfs/kernel/kthread.c  2009-09-22 18:42:26.860614756 +1000
 @@ -16,7 +16,7 @@
  #include <linux/mutex.h>
  #include <trace/events/sched.h>
@@ -6808,7 +6838,7 @@
 Index: linux-2.6.31-bfs/kernel/posix-cpu-timers.c
 ===================================================================
 --- linux-2.6.31-bfs.orig/kernel/posix-cpu-timers.c    2009-09-10 
11:45:40.000000000 +1000
-+++ linux-2.6.31-bfs/kernel/posix-cpu-timers.c 2009-09-19 16:44:41.859455109 
+1000
++++ linux-2.6.31-bfs/kernel/posix-cpu-timers.c 2009-09-22 18:42:26.877616322 
+1000
 @@ -249,7 +249,7 @@ void thread_group_cputime(struct task_st
        do {
                times->utime = cputime_add(times->utime, t->utime);
@@ -6875,7 +6905,7 @@
 Index: linux-2.6.31-bfs/kernel/exit.c
 ===================================================================
 --- linux-2.6.31-bfs.orig/kernel/exit.c        2009-09-10 11:45:39.000000000 
+1000
-+++ linux-2.6.31-bfs/kernel/exit.c     2009-09-19 16:44:41.876239609 +1000
++++ linux-2.6.31-bfs/kernel/exit.c     2009-09-22 18:42:26.902615260 +1000
 @@ -120,7 +120,7 @@ static void __exit_signal(struct task_st
                sig->inblock += task_io_get_inblock(tsk);
                sig->oublock += task_io_get_oublock(tsk);
@@ -6901,7 +6931,7 @@
 Index: linux-2.6.31-bfs/kernel/fork.c
 ===================================================================
 --- linux-2.6.31-bfs.orig/kernel/fork.c        2009-09-10 11:45:39.000000000 
+1000
-+++ linux-2.6.31-bfs/kernel/fork.c     2009-09-19 16:44:41.892923549 +1000
++++ linux-2.6.31-bfs/kernel/fork.c     2009-09-22 18:42:26.927615177 +1000
 @@ -1193,7 +1193,7 @@ static struct task_struct *copy_process(
         * parent's CPU). This avoids alot of nasty races.
         */
@@ -6914,7 +6944,7 @@
 Index: linux-2.6.31-bfs/mm/oom_kill.c
 ===================================================================
 --- linux-2.6.31-bfs.orig/mm/oom_kill.c        2009-06-10 13:05:27.000000000 
+1000
-+++ linux-2.6.31-bfs/mm/oom_kill.c     2009-09-19 16:44:41.909691807 +1000
++++ linux-2.6.31-bfs/mm/oom_kill.c     2009-09-22 18:42:26.952616369 +1000
 @@ -338,7 +338,7 @@ static void __oom_kill_task(struct task_
         * all the memory it needs. That way it should be able to
         * exit() and clear out its resources quickly...
@@ -6927,7 +6957,7 @@
 Index: linux-2.6.31-bfs/init/Kconfig
 ===================================================================
 --- linux-2.6.31-bfs.orig/init/Kconfig 2009-09-10 11:45:38.000000000 +1000
-+++ linux-2.6.31-bfs/init/Kconfig      2009-09-19 16:44:41.926424769 +1000
++++ linux-2.6.31-bfs/init/Kconfig      2009-09-22 18:42:26.969615338 +1000
 @@ -441,65 +441,13 @@ config LOG_BUF_SHIFT
  config HAVE_UNSTABLE_SCHED_CLOCK
        bool
@@ -7012,7 +7042,7 @@
 Index: linux-2.6.31-bfs/kernel/delayacct.c
 ===================================================================
 --- linux-2.6.31-bfs.orig/kernel/delayacct.c   2009-06-10 13:05:27.000000000 
+1000
-+++ linux-2.6.31-bfs/kernel/delayacct.c        2009-09-19 16:44:41.943239852 
+1000
++++ linux-2.6.31-bfs/kernel/delayacct.c        2009-09-22 18:42:26.986616514 
+1000
 @@ -127,7 +127,7 @@ int __delayacct_add_tsk(struct taskstats
         */
        t1 = tsk->sched_info.pcount;
@@ -7025,7 +7055,7 @@
 Index: linux-2.6.31-bfs/kernel/trace/trace.c
 ===================================================================
 --- linux-2.6.31-bfs.orig/kernel/trace/trace.c 2009-09-10 11:45:41.000000000 
+1000
-+++ linux-2.6.31-bfs/kernel/trace/trace.c      2009-09-19 16:44:41.946239140 
+1000
++++ linux-2.6.31-bfs/kernel/trace/trace.c      2009-09-22 18:42:27.011614734 
+1000
 @@ -275,10 +275,10 @@ unsigned long trace_flags = TRACE_ITER_P
  void trace_wake_up(void)
  {
@@ -7042,7 +7072,7 @@
 Index: linux-2.6.31-bfs/fs/proc/base.c
 ===================================================================
 --- linux-2.6.31-bfs.orig/fs/proc/base.c       2009-09-10 11:45:24.000000000 
+1000
-+++ linux-2.6.31-bfs/fs/proc/base.c    2009-09-19 16:44:41.968330290 +1000
++++ linux-2.6.31-bfs/fs/proc/base.c    2009-09-22 18:42:27.036615869 +1000
 @@ -366,7 +366,7 @@ static int proc_pid_stack(struct seq_fil
  static int proc_pid_schedstat(struct task_struct *task, char *buffer)
  {
@@ -7054,8 +7084,522 @@
  }
 Index: linux-2.6.31-bfs/kernel/sched_debug.c
 ===================================================================
+--- linux-2.6.31-bfs.orig/kernel/sched_debug.c 2009-09-10 11:45:40.000000000 
+1000
++++ /dev/null  1970-01-01 00:00:00.000000000 +0000
+@@ -1,509 +0,0 @@
+-/*
+- * kernel/time/sched_debug.c
+- *
+- * Print the CFS rbtree
+- *
+- * Copyright(C) 2007, Red Hat, Inc., Ingo Molnar
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License version 2 as
+- * published by the Free Software Foundation.
+- */
+-
+-#include <linux/proc_fs.h>
+-#include <linux/sched.h>
+-#include <linux/seq_file.h>
+-#include <linux/kallsyms.h>
+-#include <linux/utsname.h>
+-
+-/*
+- * This allows printing both to /proc/sched_debug and
+- * to the console
+- */
+-#define SEQ_printf(m, x...)                   \
+- do {                                         \
+-      if (m)                                  \
+-              seq_printf(m, x);               \
+-      else                                    \
+-              printk(x);                      \
+- } while (0)
+-
+-/*
+- * Ease the printing of nsec fields:
+- */
+-static long long nsec_high(unsigned long long nsec)
+-{
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel-desktop/kernel-desktop-sched-bfs.patch?r1=1.1.2.7&r2=1.1.2.8&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to