Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 31 Mar 2014 18:21:19 +0000 (11:21 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 31 Mar 2014 18:21:19 +0000 (11:21 -0700)
Pull scheduler changes from Ingo Molnar:
 "Bigger changes:

   - sched/idle restructuring: they are WIP preparation for deeper
     integration between the scheduler and idle state selection, by
     Nicolas Pitre.

   - add NUMA scheduling pseudo-interleaving, by Rik van Riel.

   - optimize cgroup context switches, by Peter Zijlstra.

   - RT scheduling enhancements, by Thomas Gleixner.

  The rest is smaller changes, non-urgnt fixes and cleanups"

* 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (68 commits)
  sched: Clean up the task_hot() function
  sched: Remove double calculation in fix_small_imbalance()
  sched: Fix broken setscheduler()
  sparc64, sched: Remove unused sparc64_multi_core
  sched: Remove unused mc_capable() and smt_capable()
  sched/numa: Move task_numa_free() to __put_task_struct()
  sched/fair: Fix endless loop in idle_balance()
  sched/core: Fix endless loop in pick_next_task()
  sched/fair: Push down check for high priority class task into idle_balance()
  sched/rt: Fix picking RT and DL tasks from empty queue
  trace: Replace hardcoding of 19 with MAX_NICE
  sched: Guarantee task priority in pick_next_task()
  sched/idle: Remove stale old file
  sched: Put rq's sched_avg under CONFIG_FAIR_GROUP_SCHED
  cpuidle/arm64: Remove redundant cpuidle_idle_call()
  cpuidle/powernv: Remove redundant cpuidle_idle_call()
  sched, nohz: Exclude isolated cores from load balancing
  sched: Fix select_task_rq_fair() description comments
  workqueue: Replace hardcoding of -20 and 19 with MIN_NICE and MAX_NICE
  sys: Replace hardcoding of -20 and 19 with MIN_NICE and MAX_NICE
  ...

1  2 
Documentation/sysctl/kernel.txt
arch/x86/include/asm/topology.h
kernel/Makefile
kernel/rcu/rcutorture.c

Simple merge
Simple merge
diff --cc kernel/Makefile
Simple merge
index f59d48597ddeff6cbfea56df85d672a46980fdcd,219761db1a46765b478dca07ae09e77eef776b3d..bd30bc61bc05c273159541f260d047fa4747bc82
@@@ -693,10 -802,10 +693,10 @@@ rcu_torture_writer(void *arg
        struct rcu_torture *rp;
        struct rcu_torture *rp1;
        struct rcu_torture *old_rp;
 -      static DEFINE_RCU_RANDOM(rand);
 +      static DEFINE_TORTURE_RANDOM(rand);
  
 -      VERBOSE_PRINTK_STRING("rcu_torture_writer task started");
 +      VERBOSE_TOROUT_STRING("rcu_torture_writer task started");
-       set_user_nice(current, 19);
+       set_user_nice(current, MAX_NICE);
  
        do {
                schedule_timeout_uninterruptible(1);
  static int
  rcu_torture_fakewriter(void *arg)
  {
 -      DEFINE_RCU_RANDOM(rand);
 +      DEFINE_TORTURE_RANDOM(rand);
  
 -      VERBOSE_PRINTK_STRING("rcu_torture_fakewriter task started");
 +      VERBOSE_TOROUT_STRING("rcu_torture_fakewriter task started");
-       set_user_nice(current, 19);
+       set_user_nice(current, MAX_NICE);
  
        do {
 -              schedule_timeout_uninterruptible(1 + rcu_random(&rand)%10);
 -              udelay(rcu_random(&rand) & 0x3ff);
 +              schedule_timeout_uninterruptible(1 + torture_random(&rand)%10);
 +              udelay(torture_random(&rand) & 0x3ff);
                if (cur_ops->cb_barrier != NULL &&
 -                  rcu_random(&rand) % (nfakewriters * 8) == 0) {
 +                  torture_random(&rand) % (nfakewriters * 8) == 0) {
                        cur_ops->cb_barrier();
                } else if (gp_normal == gp_exp) {
 -                      if (rcu_random(&rand) & 0x80)
 +                      if (torture_random(&rand) & 0x80)
                                cur_ops->sync();
                        else
                                cur_ops->exp_sync();
@@@ -871,8 -986,8 +871,8 @@@ rcu_torture_reader(void *arg
        struct timer_list t;
        unsigned long long ts;
  
 -      VERBOSE_PRINTK_STRING("rcu_torture_reader task started");
 +      VERBOSE_TOROUT_STRING("rcu_torture_reader task started");
-       set_user_nice(current, 19);
+       set_user_nice(current, MAX_NICE);
        if (irqreader && cur_ops->irq_capable)
                setup_timer_on_stack(&t, rcu_torture_timer, 0);
  
@@@ -1160,8 -1583,8 +1160,8 @@@ static int rcu_torture_barrier_cbs(voi
        struct rcu_head rcu;
  
        init_rcu_head_on_stack(&rcu);
 -      VERBOSE_PRINTK_STRING("rcu_torture_barrier_cbs task started");
 +      VERBOSE_TOROUT_STRING("rcu_torture_barrier_cbs task started");
-       set_user_nice(current, 19);
+       set_user_nice(current, MAX_NICE);
        do {
                wait_event(barrier_cbs_wq[myid],
                           (newphase =