Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 20 Feb 2017 20:52:55 +0000 (12:52 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 20 Feb 2017 20:52:55 +0000 (12:52 -0800)
Pull scheduler updates from Ingo Molnar:
 "The main changes in this (fairly busy) cycle were:

   - There was a class of scheduler bugs related to forgetting to update
     the rq-clock timestamp which can cause weird and hard to debug
     problems, so there's a new debug facility for this: which uncovered
     a whole lot of bugs which convinced us that we want to keep the
     debug facility.

     (Peter Zijlstra, Matt Fleming)

   - Various cputime related updates: eliminate cputime and use u64
     nanoseconds directly, simplify and improve the arch interfaces,
     implement delayed accounting more widely, etc. - (Frederic
     Weisbecker)

   - Move code around for better structure plus cleanups (Ingo Molnar)

   - Move IO schedule accounting deeper into the scheduler plus related
     changes to improve the situation (Tejun Heo)

   - ... plus a round of sched/rt and sched/deadline fixes, plus other
     fixes, updats and cleanups"

* 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (85 commits)
  sched/core: Remove unlikely() annotation from sched_move_task()
  sched/autogroup: Rename auto_group.[ch] to autogroup.[ch]
  sched/topology: Split out scheduler topology code from core.c into topology.c
  sched/core: Remove unnecessary #include headers
  sched/rq_clock: Consolidate the ordering of the rq_clock methods
  delayacct: Include <uapi/linux/taskstats.h>
  sched/core: Clean up comments
  sched/rt: Show the 'sched_rr_timeslice' SCHED_RR timeslice tuning knob in milliseconds
  sched/clock: Add dummy clear_sched_clock_stable() stub function
  sched/cputime: Remove generic asm headers
  sched/cputime: Remove unused nsec_to_cputime()
  s390, sched/cputime: Remove unused cputime definitions
  powerpc, sched/cputime: Remove unused cputime definitions
  s390, sched/cputime: Make arch_cpu_idle_time() to return nsecs
  ia64, sched/cputime: Remove unused cputime definitions
  ia64: Convert vtime to use nsec units directly
  ia64, sched/cputime: Move the nsecs based cputime headers to the last arch using it
  sched/cputime: Remove jiffies based cputime
  sched/cputime, vtime: Return nsecs instead of cputime_t to account
  sched/cputime: Complete nsec conversion of tick based accounting
  ...

1  2 
arch/powerpc/kernel/asm-offsets.c
arch/tile/include/asm/Kbuild
arch/x86/kernel/cpu/amd.c
arch/x86/kernel/cpu/common.c
arch/x86/kernel/tsc.c
include/linux/sched.h
init/main.c
kernel/fork.c
kernel/sched/rt.c
kernel/sched/stats.h

Simple merge
index 20f2ba6d79be0374217ddd0282ba07b26b4cd3c3,51a339feceac86f19d51f0e8097d0cc9ee2ace07..aa48b6eaff2d605f80c88a59a04b7313e9fb6dc5
@@@ -4,7 -4,7 +4,6 @@@ header-y += ../arch
  generic-y += bug.h
  generic-y += bugs.h
  generic-y += clkdev.h
- generic-y += cputime.h
 -generic-y += div64.h
  generic-y += emergency-restart.h
  generic-y += errno.h
  generic-y += exec.h
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc init/main.c
Simple merge
diff --cc kernel/fork.c
Simple merge
Simple merge
index c69a9870ab796156e990656d84a64d126f86e2f0,9788478a66d4cc70525eb0d5d57a5cc818ec93e1..bf0da0aa0a14432e4c82a8a9aeda513301fd9de7
@@@ -224,11 -216,11 +224,11 @@@ struct thread_group_cputimer *get_runni
   * running CPU and update the utime field there.
   */
  static inline void account_group_user_time(struct task_struct *tsk,
-                                          cputime_t cputime)
+                                          u64 cputime)
  {
 -      struct thread_group_cputimer *cputimer = &tsk->signal->cputimer;
 +      struct thread_group_cputimer *cputimer = get_running_cputimer(tsk);
  
 -      if (!cputimer_running(tsk))
 +      if (!cputimer)
                return;
  
        atomic64_add(cputime, &cputimer->cputime_atomic.utime);
   * running CPU and update the stime field there.
   */
  static inline void account_group_system_time(struct task_struct *tsk,
-                                            cputime_t cputime)
+                                            u64 cputime)
  {
 -      struct thread_group_cputimer *cputimer = &tsk->signal->cputimer;
 +      struct thread_group_cputimer *cputimer = get_running_cputimer(tsk);
  
 -      if (!cputimer_running(tsk))
 +      if (!cputimer)
                return;
  
        atomic64_add(cputime, &cputimer->cputime_atomic.stime);