Merge commit 'v2.6.30-rc1' into sched/urgent
Ingo Molnar [Wed, 8 Apr 2009 15:25:42 +0000 (17:25 +0200)]
Merge reason: update to latest upstream to queue up fix

Signed-off-by: Ingo Molnar <mingo@elte.hu>

1  2 
kernel/posix-cpu-timers.c
kernel/sched.c
kernel/sched_rt.c

Simple merge
diff --cc kernel/sched.c
@@@ -9764,32 -10092,9 +10199,32 @@@ static void cpuacct_charge(struct task_
        ca = task_ca(tsk);
  
        for (; ca; ca = ca->parent) {
-               u64 *cpuusage = percpu_ptr(ca->cpuusage, cpu);
+               u64 *cpuusage = per_cpu_ptr(ca->cpuusage, cpu);
                *cpuusage += cputime;
        }
 +
 +      rcu_read_unlock();
 +}
 +
 +/*
 + * Charge the system/user time to the task's accounting group.
 + */
 +static void cpuacct_update_stats(struct task_struct *tsk,
 +              enum cpuacct_stat_index idx, cputime_t val)
 +{
 +      struct cpuacct *ca;
 +
 +      if (unlikely(!cpuacct_subsys.active))
 +              return;
 +
 +      rcu_read_lock();
 +      ca = task_ca(tsk);
 +
 +      do {
 +              percpu_counter_add(&ca->cpustat[idx], val);
 +              ca = ca->parent;
 +      } while (ca);
 +      rcu_read_unlock();
  }
  
  struct cgroup_subsys cpuacct_subsys = {
Simple merge