Merge branch 'rcu/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck...
Ingo Molnar [Tue, 17 Jan 2012 08:44:17 +0000 (09:44 +0100)]
1  2 
include/linux/sched.h

diff --combined include/linux/sched.h
@@@ -273,11 -273,9 +273,11 @@@ extern int runqueue_is_locked(int cpu)
  
  #if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ)
  extern void select_nohz_load_balancer(int stop_tick);
 +extern void set_cpu_sd_state_idle(void);
  extern int get_nohz_timer_target(void);
  #else
  static inline void select_nohz_load_balancer(int stop_tick) { }
 +static inline void set_cpu_sd_state_idle(void) { }
  #endif
  
  /*
@@@ -485,8 -483,8 +485,8 @@@ struct task_cputime 
  
  #define INIT_CPUTIME  \
        (struct task_cputime) {                                 \
 -              .utime = cputime_zero,                          \
 -              .stime = cputime_zero,                          \
 +              .utime = 0,                                     \
 +              .stime = 0,                                     \
                .sum_exec_runtime = 0,                          \
        }
  
@@@ -903,10 -901,6 +903,10 @@@ struct sched_group_power 
         * single CPU.
         */
        unsigned int power, power_orig;
 +      /*
 +       * Number of busy cpus in this group.
 +       */
 +      atomic_t nr_busy_cpus;
  };
  
  struct sched_group {
@@@ -931,15 -925,6 +931,15 @@@ static inline struct cpumask *sched_gro
        return to_cpumask(sg->cpumask);
  }
  
 +/**
 + * group_first_cpu - Returns the first cpu in the cpumask of a sched_group.
 + * @group: The group whose first cpu is to be returned.
 + */
 +static inline unsigned int group_first_cpu(struct sched_group *group)
 +{
 +      return cpumask_first(sched_group_cpus(group));
 +}
 +
  struct sched_domain_attr {
        int relax_domain_level;
  };
@@@ -1330,8 -1315,8 +1330,8 @@@ struct task_struct 
         * older sibling, respectively.  (p->father can be replaced with 
         * p->real_parent->pid)
         */
 -      struct task_struct *real_parent; /* real parent process */
 -      struct task_struct *parent; /* recipient of SIGCHLD, wait4() reports */
 +      struct task_struct __rcu *real_parent; /* real parent process */
 +      struct task_struct __rcu *parent; /* recipient of SIGCHLD, wait4() reports */
        /*
         * children/sibling forms the list of my natural children
         */
@@@ -2089,7 -2074,7 +2089,7 @@@ extern struct task_struct *idle_task(in
   * is_idle_task - is the specified task an idle task?
   * @tsk: the task in question.
   */
- static inline bool is_idle_task(struct task_struct *p)
+ static inline bool is_idle_task(const struct task_struct *p)
  {
        return p->pid == 0;
  }