packages (Titanium): kernel-desktop/kernel-desktop-sched-bfs.patch - bfs up...
cactus
cactus at pld-linux.org
Fri Sep 25 18:19:28 CEST 2009
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
More information about the pld-cvs-commit
mailing list