From: Linus Torvalds <torvalds@linux-foundation.org>
Date: Mon, 20 Feb 2017 20:52:55 +0000 (-0800)
Subject: Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel... 
X-Git-Tag: v4.11-rc1~170
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=828cad8ea05d194d8a9452e0793261c2024c23a2;p=linux.git

Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

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
  ...
---

828cad8ea05d194d8a9452e0793261c2024c23a2
diff --cc arch/tile/include/asm/Kbuild
index 20f2ba6d79be,51a339feceac..aa48b6eaff2d
--- a/arch/tile/include/asm/Kbuild
+++ b/arch/tile/include/asm/Kbuild
@@@ -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
diff --cc kernel/sched/stats.h
index c69a9870ab79,9788478a66d4..bf0da0aa0a14
--- a/kernel/sched/stats.h
+++ b/kernel/sched/stats.h
@@@ -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);
@@@ -245,11 -237,11 +245,11 @@@
   * 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);