]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/sched.h
sched: cleanup, remove the TASK_NONINTERACTIVE flag
[linux-2.6-omap-h63xx.git] / include / linux / sched.h
index 5445eaec6908625968004c361da46dd3062250df..49c7b374eac8b77a8a5fc0ee61092c69464cc371 100644 (file)
@@ -27,6 +27,7 @@
 #define CLONE_NEWUTS           0x04000000      /* New utsname group? */
 #define CLONE_NEWIPC           0x08000000      /* New ipcs */
 #define CLONE_NEWUSER          0x10000000      /* New user namespace */
+#define CLONE_NEWNET           0x40000000      /* New network namespace */
 
 /*
  * Scheduling policies
@@ -113,7 +114,7 @@ extern unsigned long avenrun[];             /* Load averages */
 
 #define FSHIFT         11              /* nr of bits of precision */
 #define FIXED_1                (1<<FSHIFT)     /* 1.0 as fixed-point */
-#define LOAD_FREQ      (5*HZ)          /* 5 sec intervals */
+#define LOAD_FREQ      (5*HZ+1)        /* 5 sec intervals */
 #define EXP_1          1884            /* 1/exp(5sec/1min) as fixed-point */
 #define EXP_5          2014            /* 1/exp(5sec/5min) */
 #define EXP_15         2037            /* 1/exp(5sec/15min) */
@@ -135,6 +136,7 @@ extern unsigned long weighted_cpuload(const int cpu);
 
 struct seq_file;
 struct cfs_rq;
+struct task_grp;
 #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);
@@ -173,8 +175,7 @@ print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq)
 #define EXIT_ZOMBIE            16
 #define EXIT_DEAD              32
 /* in tsk->state again */
-#define TASK_NONINTERACTIVE    64
-#define TASK_DEAD              128
+#define TASK_DEAD              64
 
 #define __set_task_state(tsk, state_value)             \
        do { (tsk)->state = (state_value); } while (0)
@@ -438,7 +439,7 @@ struct sighand_struct {
        atomic_t                count;
        struct k_sigaction      action[_NSIG];
        spinlock_t              siglock;
-       struct list_head        signalfd_list;
+       wait_queue_head_t       signalfd_wqh;
 };
 
 struct pacct_struct {
@@ -595,6 +596,10 @@ struct user_struct {
        /* Hash table maintenance information */
        struct hlist_node uidhash_node;
        uid_t uid;
+
+#ifdef CONFIG_FAIR_USER_SCHED
+       struct task_grp *tg;
+#endif
 };
 
 extern struct user_struct *find_user(uid_t);
@@ -608,13 +613,17 @@ struct reclaim_state;
 #if defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT)
 struct sched_info {
        /* cumulative counters */
-       unsigned long pcnt;           /* # of times run on this cpu */
+       unsigned long pcount;         /* # of times run on this cpu */
        unsigned long long cpu_time,  /* time spent on the cpu */
                           run_delay; /* time spent waiting on a runqueue */
 
        /* timestamps */
        unsigned long long last_arrival,/* when we last ran on a cpu */
                           last_queued; /* when we were last queued to run */
+#ifdef CONFIG_SCHEDSTATS
+       /* BKL stats */
+       unsigned long bkl_count;
+#endif
 };
 #endif /* defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT) */
 
@@ -749,7 +758,7 @@ struct sched_domain {
 
 #ifdef CONFIG_SCHEDSTATS
        /* load_balance() stats */
-       unsigned long lb_cnt[CPU_MAX_IDLE_TYPES];
+       unsigned long lb_count[CPU_MAX_IDLE_TYPES];
        unsigned long lb_failed[CPU_MAX_IDLE_TYPES];
        unsigned long lb_balanced[CPU_MAX_IDLE_TYPES];
        unsigned long lb_imbalance[CPU_MAX_IDLE_TYPES];
@@ -759,17 +768,17 @@ struct sched_domain {
        unsigned long lb_nobusyq[CPU_MAX_IDLE_TYPES];
 
        /* Active load balancing */
-       unsigned long alb_cnt;
+       unsigned long alb_count;
        unsigned long alb_failed;
        unsigned long alb_pushed;
 
        /* SD_BALANCE_EXEC stats */
-       unsigned long sbe_cnt;
+       unsigned long sbe_count;
        unsigned long sbe_balanced;
        unsigned long sbe_pushed;
 
        /* SD_BALANCE_FORK stats */
-       unsigned long sbf_cnt;
+       unsigned long sbf_count;
        unsigned long sbf_balanced;
        unsigned long sbf_pushed;
 
@@ -853,11 +862,11 @@ struct rq;
 struct sched_domain;
 
 struct sched_class {
-       struct sched_class *next;
+       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, struct task_struct *p);
+       void (*yield_task) (struct rq *rq);
 
        void (*check_preempt_curr) (struct rq *rq, struct task_struct *p);
 
@@ -887,31 +896,21 @@ struct load_weight {
  *     4 se->block_start
  *     4 se->run_node
  *     4 se->sleep_start
- *     4 se->sleep_start_fair
  *     6 se->load.weight
- *     7 se->delta_fair
- *    15 se->wait_runtime
  */
 struct sched_entity {
-       long                    wait_runtime;
-       unsigned long           delta_fair_run;
-       unsigned long           delta_fair_sleep;
-       unsigned long           delta_exec;
-       s64                     fair_key;
        struct load_weight      load;           /* for load-balancing */
        struct rb_node          run_node;
        unsigned int            on_rq;
 
        u64                     exec_start;
        u64                     sum_exec_runtime;
+       u64                     vruntime;
        u64                     prev_sum_exec_runtime;
-       u64                     wait_start_fair;
-       u64                     sleep_start_fair;
 
 #ifdef CONFIG_SCHEDSTATS
        u64                     wait_start;
        u64                     wait_max;
-       s64                     sum_wait_runtime;
 
        u64                     sleep_start;
        u64                     sleep_max;
@@ -920,9 +919,7 @@ struct sched_entity {
        u64                     block_start;
        u64                     block_max;
        u64                     exec_max;
-
-       unsigned long           wait_runtime_overruns;
-       unsigned long           wait_runtime_underruns;
+       u64                     slice_max;
 #endif
 
 #ifdef CONFIG_FAIR_GROUP_SCHED
@@ -951,7 +948,7 @@ struct task_struct {
 
        int prio, static_prio, normal_prio;
        struct list_head run_list;
-       struct sched_class *sched_class;
+       const struct sched_class *sched_class;
        struct sched_entity se;
 
 #ifdef CONFIG_PREEMPT_NOTIFIERS
@@ -1400,14 +1397,16 @@ static inline void idle_task_exit(void) {}
 
 extern void sched_idle_next(void);
 
+#ifdef CONFIG_SCHED_DEBUG
 extern unsigned int sysctl_sched_latency;
-extern unsigned int sysctl_sched_min_granularity;
+extern unsigned int sysctl_sched_nr_latency;
 extern unsigned int sysctl_sched_wakeup_granularity;
 extern unsigned int sysctl_sched_batch_wakeup_granularity;
-extern unsigned int sysctl_sched_stat_granularity;
-extern unsigned int sysctl_sched_runtime_limit;
 extern unsigned int sysctl_sched_child_runs_first;
 extern unsigned int sysctl_sched_features;
+#endif
+
+extern unsigned int sysctl_sched_compat_yield;
 
 #ifdef CONFIG_RT_MUTEXES
 extern int rt_mutex_getprio(struct task_struct *p);
@@ -1841,6 +1840,17 @@ extern int sched_mc_power_savings, sched_smt_power_savings;
 
 extern void normalize_rt_tasks(void);
 
+#ifdef CONFIG_FAIR_GROUP_SCHED
+
+extern struct task_grp init_task_grp;
+
+extern struct task_grp *sched_create_group(void);
+extern void sched_destroy_group(struct task_grp *tg);
+extern void sched_move_task(struct task_struct *tsk);
+extern int sched_group_set_shares(struct task_grp *tg, unsigned long shares);
+
+#endif
+
 #ifdef CONFIG_TASK_XACCT
 static inline void add_rchar(struct task_struct *tsk, ssize_t amt)
 {