2.6.0-test4 scheduler policy
Subsystems (3)
PATCH 1/1 2.6.0-test4 scheduler policy
Hi Linux kernel,
Please find attached my CPU scheduler changes against test4. A few bugs have been fixed up. The known problems are test-starve.c, bad for compute intensive loads, bad priority distribution (eg. may cause xmms to skip. must be a bug somewhere).
This is mainly a sync with Linus' tree.
include/linux/sched.h renamed from include/linux/sched.h.orig +7 -2
@@ -281,7 +281,9 @@ struct signal_struct {#define MAX_RT_PRIO MAX_USER_RT_PRIO#define MAX_PRIO (MAX_RT_PRIO + 40) - + +#define rt_task (p) ((p)->prio < MAX_RT_PRIO) +/* * Some day this will be a full-fledged user tracking system.. */
@@ -339,12 +341,15 @@ struct task_struct {struct list_head run_list;prio_array_t *array; +unsigned long array_sequence; +unsigned long timestamp; +unsigned long sleep_avg; -unsigned long last_run;unsigned long policy;cpumask_t cpus_allowed;unsigned int time_slice, first_time_slice; +unsigned int used_slice;struct list_head tasks;struct list_head ptrace_children;
kernel/fork.c renamed from kernel/fork.c.orig +3 -3
@@ -917,14 +917,14 @@ struct task_struct *copy_process(unsigne* resulting in more scheduling fairness. */ local_irq_disable (); - p->time_slice = (current->time_slice +1 ) >>1 ; + p->timestamp = jiffies; + p->time_slice = (current->time_slice +2 ) /3 ;/* * The remainder of the first timeslice might be recovered by * the parent if the child exits early enough. */ p->first_time_slice =1 ; - current->time_slice >>=1 ; - p->last_run = jiffies; + current->time_slice =2 * current->time_slice /3 ;if (!current->time_slice) {/* * This case is rare, it happens when the parent has only
kernel/sched.c renamed from kernel/sched.c.orig +165 -202
575 lines not on this page · raw message