1. 10 8月, 2017 15 次提交
  2. 25 7月, 2017 1 次提交
  3. 14 7月, 2017 2 次提交
  4. 12 7月, 2017 1 次提交
    • V
      cpufreq: schedutil: Fix sugov_start() versus sugov_update_shared() race · ab2f7cf1
      Vikram Mulukutla 提交于
      With a shared policy in place, when one of the CPUs in the policy is
      hotplugged out and then brought back online, sugov_stop() and
      sugov_start() are called in order.
      
      sugov_stop() removes utilization hooks for each CPU in the policy and
      does nothing else in the for_each_cpu() loop. sugov_start() on the
      other hand iterates through the CPUs in the policy and re-initializes
      the per-cpu structure _and_ adds the utilization hook.  This implies
      that the scheduler is allowed to invoke a CPU's utilization update
      hook when the rest of the per-cpu structures have yet to be
      re-inited.
      
      Apart from some strange values in tracepoints this doesn't cause a
      problem, but if we do end up accessing a pointer from the per-cpu
      sugov_cpu structure somewhere in the sugov_update_shared() path,
      we will likely see crashes since the memset for another CPU in the
      policy is free to race with sugov_update_shared from the CPU that is
      ready to go.  So let's fix this now to first init all per-cpu
      structures, and then add the per-cpu utilization update hooks all at
      once.
      Signed-off-by: NVikram Mulukutla <markivx@codeaurora.org>
      Acked-by: NViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      ab2f7cf1
  5. 05 7月, 2017 6 次提交
  6. 04 7月, 2017 1 次提交
    • I
      Revert "sched/cputime: Refactor the cputime_adjust() code" · 3b9c08ae
      Ingo Molnar 提交于
      This reverts commit 72298e5c.
      
      As Peter explains:
      
      > Argh, no... That code was perfectly fine. The new code otoh is
      > convoluted.
      >
      > The old code had the following form:
      >
      >         if (exception1)
      >           deal with exception1
      >
      >         if (execption2)
      >           deal with exception2
      >
      >         do normal stuff
      >
      > Which is as simple and straight forward as it gets.
      >
      > The new code otoh reads like:
      >
      >         if (!exception1) {
      >                 if (exception2)
      >                   deal with exception 2
      >                 else
      >                   do normal stuff
      >         }
      
      So restore the old form.
      
      Also fix the comment describing the logic, as it was confusing.
      Requested-by: NPeter Zijlstra <peterz@infradead.org>
      Cc: Gustavo A. R. Silva <garsilva@embeddedor.com>
      Cc: Frans Klaver <fransklaver@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Stanislaw Gruszka <sgruszka@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Wanpeng Li <wanpeng.li@hotmail.com>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      3b9c08ae
  7. 30 6月, 2017 2 次提交
  8. 29 6月, 2017 1 次提交
    • T
      sched/numa: Hide numa_wake_affine() from UP build · ff801b71
      Thomas Gleixner 提交于
      Stephen reported the following build warning in UP:
      
      kernel/sched/fair.c:2657:9: warning: 'struct sched_domain' declared inside
      parameter list
               ^
      /home/sfr/next/next/kernel/sched/fair.c:2657:9: warning: its scope is only this
      definition or declaration, which is probably not what you want
      
      Hide the numa_wake_affine() inline stub on UP builds to get rid of it.
      
      Fixes: 3fed382b ("sched/numa: Implement NUMA node level wake_affine()")
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      ff801b71
  9. 24 6月, 2017 4 次提交
  10. 23 6月, 2017 3 次提交
  11. 22 6月, 2017 2 次提交
  12. 20 6月, 2017 2 次提交