packages (Titanium): kernel-desktop/kernel-desktop.spec, kernel-desktop/ker...
lmasko
lmasko at pld-linux.org
Mon Dec 28 18:53:35 CET 2009
Author: lmasko Date: Mon Dec 28 17:53:35 2009 GMT
Module: packages Tag: Titanium
---- Log message:
- BFS up to 313.
---- Files affected:
packages/kernel-desktop:
kernel-desktop.spec (1.204.2.83 -> 1.204.2.84) , kernel-desktop-sched-bfs.patch (1.1.2.14 -> 1.1.2.15)
---- Diffs:
================================================================
Index: packages/kernel-desktop/kernel-desktop.spec
diff -u packages/kernel-desktop/kernel-desktop.spec:1.204.2.83 packages/kernel-desktop/kernel-desktop.spec:1.204.2.84
--- packages/kernel-desktop/kernel-desktop.spec:1.204.2.83 Sat Dec 26 15:09:30 2009
+++ packages/kernel-desktop/kernel-desktop.spec Mon Dec 28 18:53:29 2009
@@ -537,6 +537,9 @@
echo "CONFIG_OPEN_TRACER=y" >> %{defconfig}
%endif
+%if %{with bfs}
+echo "CONFIG_SCHED_BFS=y" >> %{defconfig}
+%endif
}
BuildKernel() {
@@ -977,6 +980,9 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.204.2.84 2009/12/28 17:53:29 lmasko
+- BFS up to 313.
+
Revision 1.204.2.83 2009/12/26 14:09:30 shadzik
- I2O_EXT_ADAPTEC_DMA64=y for pae kernel
================================================================
Index: packages/kernel-desktop/kernel-desktop-sched-bfs.patch
diff -u packages/kernel-desktop/kernel-desktop-sched-bfs.patch:1.1.2.14 packages/kernel-desktop/kernel-desktop-sched-bfs.patch:1.1.2.15
--- packages/kernel-desktop/kernel-desktop-sched-bfs.patch:1.1.2.14 Fri Oct 16 16:05:57 2009
+++ packages/kernel-desktop/kernel-desktop-sched-bfs.patch Mon Dec 28 18:53:29 2009
@@ -1,14 +1,16 @@
-The Brain Fuck Scheduler v0.304 by Con Kolivas.
+The Brain Fuck Scheduler v0.313 by Con Kolivas.
A single shared runqueue O(n) strict fairness earliest deadline first design.
-Ultra low latency and excellent desktop performance.
+Ultra low latency and excellent desktop performance for 1 to many CPUs.
Not recommended for 4096 cpus.
Scalability is optimal when your workload is equal to the number of CPUs on
bfs. ie you should ONLY do make -j4 on quad core, -j2 on dual core and so on.
Features SCHED_IDLEPRIO and SCHED_ISO scheduling policies as well.
+You do NOT need to use these policies for good performance, they are purely
+optional.
To run something idleprio, use schedtool like so:
@@ -22,35 +24,31 @@
cpu usage may be very different.
---
- Documentation/scheduler/sched-BFS.txt | 335 +
- Documentation/sysctl/kernel.txt | 26
- Makefile | 4
- fs/pipe.c | 4
- fs/proc/base.c | 2
- include/linux/init_task.h | 15
- include/linux/ioprio.h | 2
- include/linux/sched.h | 193 -
- init/Kconfig | 61
- init/main.c | 2
- kernel/Makefile | 4
- kernel/delayacct.c | 2
- kernel/exit.c | 7
- kernel/fork.c | 1
- kernel/kthread.c | 3
- kernel/posix-cpu-timers.c | 14
- kernel/sched_bfs.c | 6336 ++++++++++++++++++++++++++++++++++
- kernel/sysctl.c | 156
- kernel/timer.c | 3
- kernel/trace/trace.c | 4
- kernel/workqueue.c | 2
- mm/oom_kill.c | 2
- 22 files changed, 6780 insertions(+), 398 deletions(-)
+ Documentation/scheduler/sched-BFS.txt | 356 +
+ Documentation/sysctl/kernel.txt | 26
+ arch/powerpc/platforms/cell/spufs/sched.c | 5
+ fs/proc/base.c | 2
+ include/linux/init_task.h | 65
+ include/linux/ioprio.h | 2
+ include/linux/sched.h | 107
+ init/Kconfig | 20
+ init/main.c | 2
+ kernel/delayacct.c | 2
+ kernel/exit.c | 2
+ kernel/fork.c | 2
+ kernel/posix-cpu-timers.c | 14
+ kernel/sched.c | 4
+ kernel/sched_bfs.c | 6653 ++++++++++++++++++++++++++++++
+ kernel/sysctl.c | 35
+ lib/Kconfig.debug | 2
+ mm/oom_kill.c | 2
+ 18 files changed, 7272 insertions(+), 29 deletions(-)
-Index: linux-2.6.31-bfs/Documentation/sysctl/kernel.txt
+Index: linux-2.6.32-bfs/Documentation/sysctl/kernel.txt
===================================================================
---- linux-2.6.31-bfs.orig/Documentation/sysctl/kernel.txt 2009-10-06 21:06:26.175820508 +1100
-+++ linux-2.6.31-bfs/Documentation/sysctl/kernel.txt 2009-10-06 21:06:48.532821648 +1100
-@@ -27,6 +27,7 @@ show up in /proc/sys/kernel:
+--- linux-2.6.32-bfs.orig/Documentation/sysctl/kernel.txt 2009-12-03 21:39:54.000000000 +1100
++++ linux-2.6.32-bfs/Documentation/sysctl/kernel.txt 2009-12-19 00:21:06.935377895 +1100
+@@ -29,6 +29,7 @@ show up in /proc/sys/kernel:
- domainname
- hostname
- hotplug
@@ -58,7 +56,7 @@
- java-appletviewer [ binfmt_java, obsolete ]
- java-interpreter [ binfmt_java, obsolete ]
- kstack_depth_to_print [ X86 only ]
-@@ -49,6 +50,7 @@ show up in /proc/sys/kernel:
+@@ -51,6 +52,7 @@ show up in /proc/sys/kernel:
- randomize_va_space
- real-root-dev ==> Documentation/initrd.txt
- reboot-cmd [ SPARC only ]
@@ -66,11 +64,11 @@
- rtsig-max
- rtsig-nr
- sem
-@@ -171,6 +173,16 @@ Default value is "/sbin/hotplug".
+@@ -209,6 +211,16 @@ Default value is "/sbin/hotplug".
==============================================================
-+iso_cpu:
++iso_cpu: (BFS CPU scheduler only).
+
+This sets the percentage cpu that the unprivileged SCHED_ISO tasks can
+run effectively at realtime priority, averaged over a rolling five
@@ -83,11 +81,11 @@
l2cr: (PPC only)
This flag controls the L2 cache of G3 processor boards. If
-@@ -333,6 +345,20 @@ rebooting. ???
+@@ -383,6 +395,20 @@ rebooting. ???
==============================================================
-+rr_interval:
++rr_interval: (BFS CPU scheduler only)
+
+This is the smallest duration that any cpu process scheduling unit
+will run for. Increasing this value can increase throughput of cpu
@@ -104,502 +102,325 @@
rtsig-max & rtsig-nr:
The file rtsig-max can be used to tune the maximum number
-Index: linux-2.6.31-bfs/fs/pipe.c
+Index: linux-2.6.32-bfs/include/linux/init_task.h
===================================================================
---- linux-2.6.31-bfs.orig/fs/pipe.c 2009-10-06 21:06:26.150821027 +1100
-+++ linux-2.6.31-bfs/fs/pipe.c 2009-10-06 21:06:48.533821285 +1100
-@@ -78,10 +78,6 @@ void pipe_wait(struct pipe_inode_info *p
- {
- DEFINE_WAIT(wait);
-
-- /*
-- * Pipes are system-local resources, so sleeping on them
-- * is considered a noninteractive wait:
-- */
- prepare_to_wait(&pipe->wait, &wait, TASK_INTERRUPTIBLE);
- pipe_unlock(pipe);
- schedule();
-Index: linux-2.6.31-bfs/include/linux/init_task.h
-===================================================================
---- linux-2.6.31-bfs.orig/include/linux/init_task.h 2009-10-06 21:06:26.181821043 +1100
-+++ linux-2.6.31-bfs/include/linux/init_task.h 2009-10-06 21:06:48.562821138 +1100
-@@ -116,21 +116,16 @@ extern struct cred init_cred;
- .usage = ATOMIC_INIT(2), \
- .flags = PF_KTHREAD, \
- .lock_depth = -1, \
-- .prio = MAX_PRIO-20, \
+--- linux-2.6.32-bfs.orig/include/linux/init_task.h 2009-12-03 21:40:09.000000000 +1100
++++ linux-2.6.32-bfs/include/linux/init_task.h 2009-12-19 00:21:06.936211740 +1100
+@@ -119,6 +119,69 @@ extern struct cred init_cred;
+ * INIT_TASK is used to set up the first task table, touch at
+ * your own risk!. Base=0, limit=0x1fffff (=2MB)
+ */
++#ifdef CONFIG_SCHED_BFS
++#define INIT_TASK(tsk) \
++{ \
++ .state = 0, \
++ .stack = &init_thread_info, \
++ .usage = ATOMIC_INIT(2), \
++ .flags = PF_KTHREAD, \
++ .lock_depth = -1, \
+ .prio = NORMAL_PRIO, \
- .static_prio = MAX_PRIO-20, \
-- .normal_prio = MAX_PRIO-20, \
++ .static_prio = MAX_PRIO-20, \
+ .normal_prio = NORMAL_PRIO, \
+ .deadline = 0, \
- .policy = SCHED_NORMAL, \
- .cpus_allowed = CPU_MASK_ALL, \
- .mm = NULL, \
- .active_mm = &init_mm, \
-- .se = { \
-- .group_node = LIST_HEAD_INIT(tsk.se.group_node), \
-- }, \
-- .rt = { \
-- .run_list = LIST_HEAD_INIT(tsk.rt.run_list), \
-- .time_slice = HZ, \
-- .nr_cpus_allowed = NR_CPUS, \
-- }, \
++ .policy = SCHED_NORMAL, \
++ .cpus_allowed = CPU_MASK_ALL, \
++ .mm = NULL, \
++ .active_mm = &init_mm, \
+ .run_list = LIST_HEAD_INIT(tsk.run_list), \
+ .time_slice = HZ, \
- .tasks = LIST_HEAD_INIT(tsk.tasks), \
- .pushable_tasks = PLIST_NODE_INIT(tsk.pushable_tasks, MAX_PRIO), \
- .ptraced = LIST_HEAD_INIT(tsk.ptraced), \
-Index: linux-2.6.31-bfs/include/linux/sched.h
++ .tasks = LIST_HEAD_INIT(tsk.tasks), \
++ .pushable_tasks = PLIST_NODE_INIT(tsk.pushable_tasks, MAX_PRIO), \
++ .ptraced = LIST_HEAD_INIT(tsk.ptraced), \
++ .ptrace_entry = LIST_HEAD_INIT(tsk.ptrace_entry), \
++ .real_parent = &tsk, \
++ .parent = &tsk, \
++ .children = LIST_HEAD_INIT(tsk.children), \
++ .sibling = LIST_HEAD_INIT(tsk.sibling), \
++ .group_leader = &tsk, \
++ .real_cred = &init_cred, \
++ .cred = &init_cred, \
++ .cred_guard_mutex = \
++ __MUTEX_INITIALIZER(tsk.cred_guard_mutex), \
++ .comm = "swapper", \
++ .thread = INIT_THREAD, \
++ .fs = &init_fs, \
++ .files = &init_files, \
++ .signal = &init_signals, \
++ .sighand = &init_sighand, \
++ .nsproxy = &init_nsproxy, \
++ .pending = { \
++ .list = LIST_HEAD_INIT(tsk.pending.list), \
++ .signal = {{0}}}, \
++ .blocked = {{0}}, \
++ .alloc_lock = __SPIN_LOCK_UNLOCKED(tsk.alloc_lock), \
++ .journal_info = NULL, \
++ .cpu_timers = INIT_CPU_TIMERS(tsk.cpu_timers), \
++ .fs_excl = ATOMIC_INIT(0), \
++ .pi_lock = __SPIN_LOCK_UNLOCKED(tsk.pi_lock), \
++ .timer_slack_ns = 50000, /* 50 usec default slack */ \
++ .pids = { \
++ [PIDTYPE_PID] = INIT_PID_LINK(PIDTYPE_PID), \
++ [PIDTYPE_PGID] = INIT_PID_LINK(PIDTYPE_PGID), \
++ [PIDTYPE_SID] = INIT_PID_LINK(PIDTYPE_SID), \
++ }, \
++ .dirties = INIT_PROP_LOCAL_SINGLE(dirties), \
++ INIT_IDS \
++ INIT_PERF_EVENTS(tsk) \
++ INIT_TRACE_IRQFLAGS \
++ INIT_LOCKDEP \
++ INIT_FTRACE_GRAPH \
++ INIT_TRACE_RECURSION \
++ INIT_TASK_RCU_PREEMPT(tsk) \
++}
++#else /* CONFIG_SCHED_BFS */
+ #define INIT_TASK(tsk) \
+ { \
+ .state = 0, \
+@@ -185,7 +248,7 @@ extern struct cred init_cred;
+ INIT_TRACE_RECURSION \
+ INIT_TASK_RCU_PREEMPT(tsk) \
+ }
+-
++#endif /* CONFIG_SCHED_BFS */
+
+ #define INIT_CPU_TIMERS(cpu_timers) \
+ { \
+Index: linux-2.6.32-bfs/include/linux/sched.h
===================================================================
---- linux-2.6.31-bfs.orig/include/linux/sched.h 2009-10-06 21:06:26.192821918 +1100
-+++ linux-2.6.31-bfs/include/linux/sched.h 2009-10-08 22:59:46.191157813 +1100
-@@ -36,8 +36,11 @@
+--- linux-2.6.32-bfs.orig/include/linux/sched.h 2009-12-03 21:40:09.000000000 +1100
++++ linux-2.6.32-bfs/include/linux/sched.h 2009-12-28 03:03:44.025251129 +1100
+@@ -36,8 +36,15 @@
#define SCHED_FIFO 1
#define SCHED_RR 2
#define SCHED_BATCH 3
-/* SCHED_ISO: reserved but not implemented yet */
--#define SCHED_IDLE 5
++/* SCHED_ISO: Implemented on BFS only */
+ #define SCHED_IDLE 5
++#ifdef CONFIG_SCHED_BFS
+#define SCHED_ISO 4
-+#define SCHED_IDLEPRIO 5
-+
++#define SCHED_IDLEPRIO SCHED_IDLE
+#define SCHED_MAX (SCHED_IDLEPRIO)
+#define SCHED_RANGE(policy) ((policy) <= SCHED_MAX)
++#endif
++
+ /* Can be ORed in to make sure the process is reverted back to SCHED_NORMAL on fork */
+ #define SCHED_RESET_ON_FORK 0x40000000
- #ifdef __KERNEL__
-
-@@ -144,13 +147,10 @@ extern u64 cpu_nr_migrations(int cpu);
- extern unsigned long get_parent_ip(unsigned long addr);
-
- struct seq_file;
--struct cfs_rq;
- struct task_group;
- #ifdef CONFIG_SCHED_DEBUG
- extern void proc_sched_show_task(struct task_struct *p, struct seq_file *m);
- extern void proc_sched_set_task(struct task_struct *p);
--extern void
--print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq);
- #else
- static inline void
- proc_sched_show_task(struct task_struct *p, struct seq_file *m)
-@@ -159,10 +159,6 @@ proc_sched_show_task(struct task_struct
- static inline void proc_sched_set_task(struct task_struct *p)
- {
- }
--static inline void
--print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq)
--{
--}
- #endif
-
- extern unsigned long long time_sync_thresh;
-@@ -254,8 +250,8 @@ extern asmlinkage void schedule_tail(str
+@@ -261,9 +268,6 @@ extern asmlinkage void schedule_tail(str
extern void init_idle(struct task_struct *idle, int cpu);
extern void init_idle_bootup_task(struct task_struct *idle);
--extern int runqueue_is_locked(void);
+-extern int runqueue_is_locked(int cpu);
-extern void task_rq_unlock_wait(struct task_struct *p);
-+extern int grunqueue_is_locked(void);
-+extern void grq_unlock_wait(void);
-
+-
extern cpumask_var_t nohz_cpu_mask;
#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ)
-@@ -1021,148 +1017,6 @@ struct uts_namespace;
- struct rq;
- struct sched_domain;
-
--struct sched_class {
-- 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);
-- void (*yield_task) (struct rq *rq);
--
-- void (*check_preempt_curr) (struct rq *rq, struct task_struct *p, int sync);
--
-- struct task_struct * (*pick_next_task) (struct rq *rq);
-- void (*put_prev_task) (struct rq *rq, struct task_struct *p);
--
--#ifdef CONFIG_SMP
-- int (*select_task_rq)(struct task_struct *p, int sync);
--
-- unsigned long (*load_balance) (struct rq *this_rq, int this_cpu,
-- struct rq *busiest, unsigned long max_load_move,
-- struct sched_domain *sd, enum cpu_idle_type idle,
-- int *all_pinned, int *this_best_prio);
--
-- int (*move_one_task) (struct rq *this_rq, int this_cpu,
-- struct rq *busiest, struct sched_domain *sd,
-- enum cpu_idle_type idle);
-- void (*pre_schedule) (struct rq *this_rq, struct task_struct *task);
-- int (*needs_post_schedule) (struct rq *this_rq);
-- void (*post_schedule) (struct rq *this_rq);
-- void (*task_wake_up) (struct rq *this_rq, struct task_struct *task);
--
-- void (*set_cpus_allowed)(struct task_struct *p,
-- const struct cpumask *newmask);
--
-- void (*rq_online)(struct rq *rq);
-- void (*rq_offline)(struct rq *rq);
--#endif
--
-- void (*set_curr_task) (struct rq *rq);
-- void (*task_tick) (struct rq *rq, struct task_struct *p, int queued);
-- void (*task_new) (struct rq *rq, struct task_struct *p);
--
-- void (*switched_from) (struct rq *this_rq, struct task_struct *task,
-- int running);
-- void (*switched_to) (struct rq *this_rq, struct task_struct *task,
-- int running);
-- void (*prio_changed) (struct rq *this_rq, struct task_struct *task,
-- int oldprio, int running);
--
--#ifdef CONFIG_FAIR_GROUP_SCHED
-- void (*moved_group) (struct task_struct *p);
--#endif
--};
--
--struct load_weight {
-- unsigned long weight, inv_weight;
--};
--
--/*
-- * CFS stats for a schedulable entity (task, task-group etc)
-- *
-- * Current field usage histogram:
-- *
-- * 4 se->block_start
-- * 4 se->run_node
-- * 4 se->sleep_start
-- * 6 se->load.weight
-- */
--struct sched_entity {
-- struct load_weight load; /* for load-balancing */
-- struct rb_node run_node;
-- struct list_head group_node;
-- unsigned int on_rq;
--
-- u64 exec_start;
-- u64 sum_exec_runtime;
-- u64 vruntime;
-- u64 prev_sum_exec_runtime;
--
-- u64 last_wakeup;
-- u64 avg_overlap;
--
-- u64 nr_migrations;
--
-- u64 start_runtime;
-- u64 avg_wakeup;
--
--#ifdef CONFIG_SCHEDSTATS
-- u64 wait_start;
-- u64 wait_max;
-- u64 wait_count;
-- u64 wait_sum;
--
-- u64 sleep_start;
-- u64 sleep_max;
-- s64 sum_sleep_runtime;
--
-- u64 block_start;
-- u64 block_max;
-- u64 exec_max;
-- u64 slice_max;
--
-- u64 nr_migrations_cold;
-- u64 nr_failed_migrations_affine;
-- u64 nr_failed_migrations_running;
-- u64 nr_failed_migrations_hot;
-- u64 nr_forced_migrations;
-- u64 nr_forced2_migrations;
--
-- u64 nr_wakeups;
-- u64 nr_wakeups_sync;
-- u64 nr_wakeups_migrate;
-- u64 nr_wakeups_local;
-- u64 nr_wakeups_remote;
-- u64 nr_wakeups_affine;
-- u64 nr_wakeups_affine_attempts;
-- u64 nr_wakeups_passive;
-- u64 nr_wakeups_idle;
--#endif
--
--#ifdef CONFIG_FAIR_GROUP_SCHED
-- struct sched_entity *parent;
-- /* rq on which this entity is (to be) queued: */
-- struct cfs_rq *cfs_rq;
-- /* rq "owned" by this entity/group: */
-- struct cfs_rq *my_q;
--#endif
--};
--
--struct sched_rt_entity {
-- struct list_head run_list;
-- unsigned long timeout;
-- unsigned int time_slice;
-- int nr_cpus_allowed;
--
-- struct sched_rt_entity *back;
--#ifdef CONFIG_RT_GROUP_SCHED
-- struct sched_rt_entity *parent;
-- /* rq on which this entity is (to be) queued: */
-- struct rt_rq *rt_rq;
-- /* rq "owned" by this entity/group: */
-- struct rt_rq *my_q;
--#endif
--};
--
- struct task_struct {
- volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */
- void *stack;
-@@ -1172,17 +1026,16 @@ struct task_struct {
+ extern int select_nohz_load_balancer(int cpu);
+@@ -1221,17 +1225,31 @@ struct task_struct {
int lock_depth; /* BKL lock depth */
--#ifdef CONFIG_SMP
--#ifdef __ARCH_WANT_UNLOCKED_CTXSW
++#ifndef CONFIG_SCHED_BFS
+ #ifdef CONFIG_SMP
+ #ifdef __ARCH_WANT_UNLOCKED_CTXSW
int oncpu;
--#endif
--#endif
--
+ #endif
+ #endif
++#else /* CONFIG_SCHED_BFS */
++ int oncpu;
++#endif
+
int prio, static_prio, normal_prio;
+ unsigned int rt_priority;
++#ifdef CONFIG_SCHED_BFS
+ int time_slice, first_time_slice;
+ unsigned long deadline;
+ struct list_head run_list;
- unsigned int rt_priority;
-- const struct sched_class *sched_class;
-- struct sched_entity se;
-- struct sched_rt_entity rt;
+ u64 last_ran;
+ u64 sched_time; /* sched_clock time spent running */
+
+ unsigned long rt_timeout;
++#else /* CONFIG_SCHED_BFS */
+ const struct sched_class *sched_class;
+ struct sched_entity se;
+ struct sched_rt_entity rt;
++#endif
#ifdef CONFIG_PREEMPT_NOTIFIERS
/* list of struct preempt_notifier: */
-@@ -1205,6 +1058,9 @@ struct task_struct {
+@@ -1253,6 +1271,9 @@ struct task_struct {
unsigned int policy;
cpumask_t cpus_allowed;
-+#ifdef CONFIG_HOTPLUG_CPU
++#if defined(CONFIG_HOTPLUG_CPU) && defined(CONFIG_SCHED_BFS)
+ cpumask_t unplugged_mask;
+#endif
- #ifdef CONFIG_PREEMPT_RCU
+ #ifdef CONFIG_TREE_PREEMPT_RCU
int rcu_read_lock_nesting;
-@@ -1273,6 +1129,7 @@ struct task_struct {
+@@ -1330,6 +1351,9 @@ struct task_struct {
int __user *clear_child_tid; /* CLONE_CHILD_CLEARTID */
cputime_t utime, stime, utimescaled, stimescaled;
++#ifdef CONFIG_SCHED_BFS
+ unsigned long utime_pc, stime_pc;
++#endif
cputime_t gtime;
cputime_t prev_utime, prev_stime;
unsigned long nvcsw, nivcsw; /* context switch counts */
-@@ -1497,11 +1354,14 @@ struct task_struct {
- * priority to a value higher than any user task. Note:
- * MAX_RT_PRIO must not be smaller than MAX_USER_RT_PRIO.
- */
--
-+#define PRIO_RANGE (40)
+@@ -1541,6 +1565,64 @@ struct task_struct {
+ unsigned long stack_start;
+ };
+
++#ifdef CONFIG_SCHED_BFS
++extern int grunqueue_is_locked(void);
++extern void grq_unlock_wait(void);
++#define tsk_seruntime(t) ((t)->sched_time)
++#define tsk_rttimeout(t) ((t)->rt_timeout)
++#define task_rq_unlock_wait(tsk) grq_unlock_wait()
++
++static inline void set_oom_timeslice(struct task_struct *p)
++{
++ p->time_slice = HZ;
++}
++
++static inline void tsk_cpus_current(struct task_struct *p)
++{
++}
++
++#define runqueue_is_locked(cpu) grunqueue_is_locked()
++
++static inline void print_scheduler_version(void)
++{
++ printk(KERN_INFO"BFS CPU scheduler v0.313 by Con Kolivas.\n");
++}
++
++static inline int iso_task(struct task_struct *p)
++{
++ return (p->policy == SCHED_ISO);
++}
++#else
++extern int runqueue_is_locked(int cpu);
++extern void task_rq_unlock_wait(struct task_struct *p);
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel-desktop/kernel-desktop.spec?r1=1.204.2.83&r2=1.204.2.84&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel-desktop/kernel-desktop-sched-bfs.patch?r1=1.1.2.14&r2=1.1.2.15&f=u
More information about the pld-cvs-commit
mailing list