Added new runqueue
[projects/modsched/linux.git] / kernel / sched.new / sched.h
index d683d38..abd908b 100644 (file)
@@ -2,6 +2,8 @@
 #include <linux/sched/sysctl.h>
 #include <linux/sched/rt.h>
 
+#include <linux/list.h>
+
 
 struct task_group {
 };
@@ -10,19 +12,15 @@ struct rq {
        /* runqueue lock: */
        raw_spinlock_t lock;
 
+       struct list_head rq_list;
+
        /*
         * nr_running and cpu_load should be in the same cacheline because
         * remote CPUs use both these fields when doing load calculation.
         */
        unsigned int nr_running;
-       #define CPU_LOAD_IDX_MAX 5
-       unsigned long cpu_load[CPU_LOAD_IDX_MAX];
-       unsigned long last_load_update_tick;
-       int skip_clock_update;
-
-       /* capture load from *all* tasks on this cpu: */
-       struct load_weight load;
-       unsigned long nr_load_updates;
+
+
        u64 nr_switches;
 
        /*
@@ -34,20 +32,8 @@ struct rq {
        unsigned long nr_uninterruptible;
 
        struct task_struct *curr, *idle, *stop;
-       struct task_struct *next;
-       unsigned long next_balance;
-       struct mm_struct *prev_mm;
 
-       u64 clock;
-       u64 clock_task;
-
-       atomic_t nr_iowait;
-
-       /* calc_load related fields */
-       unsigned long calc_load_update;
-       long calc_load_active;
-
-       struct sched_avg avg;
+       struct mm_struct *prev_mm;
 };
 
 DECLARE_PER_CPU(struct rq, runqueues);