]> git.kernelconcepts.de Git - mv-sheeva.git/commitdiff
Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 19 Dec 2009 17:47:49 +0000 (09:47 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 19 Dec 2009 17:47:49 +0000 (09:47 -0800)
* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (25 commits)
  sched: Fix broken assertion
  sched: Assert task state bits at build time
  sched: Update task_state_arraypwith new states
  sched: Add missing state chars to TASK_STATE_TO_CHAR_STR
  sched: Move TASK_STATE_TO_CHAR_STR near the TASK_state bits
  sched: Teach might_sleep() about preemptible RCU
  sched: Make warning less noisy
  sched: Simplify set_task_cpu()
  sched: Remove the cfs_rq dependency from set_task_cpu()
  sched: Add pre and post wakeup hooks
  sched: Move kthread_bind() back to kthread.c
  sched: Fix select_task_rq() vs hotplug issues
  sched: Fix sched_exec() balancing
  sched: Ensure set_task_cpu() is never called on blocked tasks
  sched: Use TASK_WAKING for fork wakups
  sched: Select_task_rq_fair() must honour SD_LOAD_BALANCE
  sched: Fix task_hot() test order
  sched: Fix set_cpu_active() in cpu_down()
  sched: Mark boot-cpu active before smp_init()
  sched: Fix cpu_clock() in NMIs, on !CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
  ...

1  2 
include/linux/sched.h

diff --combined include/linux/sched.h
index e89857812be63c3b9ef5167cc4238291a337459a,37543876ddf573186b1806171ea022983629cb2a..f2f842db03cea4e1d082f6d45596ba3c3c52e1a1
@@@ -192,6 -192,12 +192,12 @@@ print_cfs_rq(struct seq_file *m, int cp
  #define TASK_DEAD             64
  #define TASK_WAKEKILL         128
  #define TASK_WAKING           256
+ #define TASK_STATE_MAX                512
+ #define TASK_STATE_TO_CHAR_STR "RSDTtZXxKW"
+ extern char ___assert_task_state[1 - 2*!!(
+               sizeof(TASK_STATE_TO_CHAR_STR)-1 != ilog2(TASK_STATE_MAX)+1)];
  
  /* Convenience macros for the sake of set_task_state */
  #define TASK_KILLABLE         (TASK_WAKEKILL | TASK_UNINTERRUPTIBLE)
@@@ -1091,7 -1097,8 +1097,8 @@@ struct sched_class 
                              enum cpu_idle_type idle);
        void (*pre_schedule) (struct rq *this_rq, struct task_struct *task);
        void (*post_schedule) (struct rq *this_rq);
-       void (*task_wake_up) (struct rq *this_rq, struct task_struct *task);
+       void (*task_waking) (struct rq *this_rq, struct task_struct *task);
+       void (*task_woken) (struct rq *this_rq, struct task_struct *task);
  
        void (*set_cpus_allowed)(struct task_struct *p,
                                 const struct cpumask *newmask);
                                         struct task_struct *task);
  
  #ifdef CONFIG_FAIR_GROUP_SCHED
-       void (*moved_group) (struct task_struct *p);
+       void (*moved_group) (struct task_struct *p, int on_rq);
  #endif
  };
  
@@@ -1446,8 -1453,10 +1453,8 @@@ struct task_struct 
        gfp_t lockdep_reclaim_gfp;
  #endif
  
 -#ifdef CONFIG_FS_JOURNAL_INFO
  /* journalling filesystem info */
        void *journal_info;
 -#endif
  
  /* stacked block device info */
        struct bio *bio_list, **bio_tail;
        unsigned long trace_recursion;
  #endif /* CONFIG_TRACING */
        unsigned long stack_start;
 +#ifdef CONFIG_CGROUP_MEM_RES_CTLR /* memcg uses this to do batch job */
 +      struct memcg_batch_info {
 +              int do_batch;   /* incremented when batch uncharge started */
 +              struct mem_cgroup *memcg; /* target memcg of uncharge */
 +              unsigned long bytes;            /* uncharged usage */
 +              unsigned long memsw_bytes; /* uncharged mem+swap usage */
 +      } memcg_batch;
 +#endif
  };
  
  /* Future-safe accessor for struct task_struct's cpus_allowed. */
 -#define tsk_cpumask(tsk) (&(tsk)->cpus_allowed)
 +#define tsk_cpus_allowed(tsk) (&(tsk)->cpus_allowed)
  
  /*
   * Priority of a process goes from 0..MAX_PRIO-1, valid RT
@@@ -2081,6 -2082,7 +2088,6 @@@ extern int kill_proc_info(int, struct s
  extern int do_notify_parent(struct task_struct *, int);
  extern void __wake_up_parent(struct task_struct *p, struct task_struct *parent);
  extern void force_sig(int, struct task_struct *);
 -extern void force_sig_specific(int, struct task_struct *);
  extern int send_sig(int, struct task_struct *, int);
  extern void zap_other_threads(struct task_struct *p);
  extern struct sigqueue *sigqueue_alloc(void);
@@@ -2099,6 -2101,11 +2106,6 @@@ static inline int kill_cad_pid(int sig
  #define SEND_SIG_PRIV ((struct siginfo *) 1)
  #define SEND_SIG_FORCED       ((struct siginfo *) 2)
  
 -static inline int is_si_special(const struct siginfo *info)
 -{
 -      return info <= SEND_SIG_FORCED;
 -}
 -
  /*
   * True if we are on the alternate signal stack.
   */
@@@ -2594,8 -2601,6 +2601,6 @@@ static inline void mm_init_owner(struc
  }
  #endif /* CONFIG_MM_OWNER */
  
- #define TASK_STATE_TO_CHAR_STR "RSDTtZX"
  #endif /* __KERNEL__ */
  
  #endif