trivial refresh of posix-timers-thread-posix-cpu-timers-on-rt.patch

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
diff --git a/patches/posix-timers-thread-posix-cpu-timers-on-rt.patch b/patches/posix-timers-thread-posix-cpu-timers-on-rt.patch
index 20226ae..4ae3343 100644
--- a/patches/posix-timers-thread-posix-cpu-timers-on-rt.patch
+++ b/patches/posix-timers-thread-posix-cpu-timers-on-rt.patch
@@ -1,6 +1,7 @@
+From 4cf66eb291dd8ba905e24b01bfff812cdec98f9c Mon Sep 17 00:00:00 2001
 From: John Stultz <johnstul@us.ibm.com>
 Date: Fri, 3 Jul 2009 08:29:58 -0500
-Subject: posix-timers: Thread posix-cpu-timers on -rt
+Subject: [PATCH] posix-timers: Thread posix-cpu-timers on -rt
 
 posix-cpu-timer code takes non -rt safe locks in hard irq
 context. Move it to a thread.
@@ -10,16 +11,11 @@
 Signed-off-by: John Stultz <johnstul@us.ibm.com>
 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
 
----
- include/linux/init_task.h      |    7 +
- include/linux/sched.h          |    3 
- kernel/fork.c                  |    3 
- kernel/time/posix-cpu-timers.c |  157 +++++++++++++++++++++++++++++++++++++++--
- 4 files changed, 166 insertions(+), 4 deletions(-)
-
+diff --git a/include/linux/init_task.h b/include/linux/init_task.h
+index 8f4636155401..cf5322d75d65 100644
 --- a/include/linux/init_task.h
 +++ b/include/linux/init_task.h
-@@ -167,6 +167,12 @@ extern struct cred init_cred;
+@@ -168,6 +168,12 @@ extern struct cred init_cred;
  # define INIT_PERF_EVENTS(tsk)
  #endif
  
@@ -31,8 +27,8 @@
 +
  #ifdef CONFIG_VIRT_CPU_ACCOUNTING_GEN
  # define INIT_VTIME(tsk)						\
- 	.vtime_seqcount = SEQCNT_ZERO(tsk.vtime_seqcount),	\
-@@ -269,6 +275,7 @@ extern struct cred init_cred;
+ 	.vtime.seqcount = SEQCNT_ZERO(tsk.vtime.seqcount),		\
+@@ -283,6 +289,7 @@ extern struct cred init_cred;
  	INIT_CPU_TIMERS(tsk)						\
  	.pi_lock	= __RAW_SPIN_LOCK_UNLOCKED(tsk.pi_lock),	\
  	.timer_slack_ns = 50000, /* 50 usec default slack */		\
@@ -40,9 +36,11 @@
  	.pids = {							\
  		[PIDTYPE_PID]  = INIT_PID_LINK(PIDTYPE_PID),		\
  		[PIDTYPE_PGID] = INIT_PID_LINK(PIDTYPE_PGID),		\
+diff --git a/include/linux/sched.h b/include/linux/sched.h
+index 941abd947b83..b2852afe0dcc 100644
 --- a/include/linux/sched.h
 +++ b/include/linux/sched.h
-@@ -710,6 +710,9 @@ struct task_struct {
+@@ -719,6 +719,9 @@ struct task_struct {
  #ifdef CONFIG_POSIX_TIMERS
  	struct task_cputime		cputime_expires;
  	struct list_head		cpu_timers[3];
@@ -52,9 +50,11 @@
  #endif
  
  	/* Process credentials: */
+diff --git a/kernel/fork.c b/kernel/fork.c
+index 20e77d9aacea..6d08ff4e1bba 100644
 --- a/kernel/fork.c
 +++ b/kernel/fork.c
-@@ -1451,6 +1451,9 @@ static void rt_mutex_init_task(struct ta
+@@ -1469,6 +1469,9 @@ static void rt_mutex_init_task(struct task_struct *p)
   */
  static void posix_cpu_timers_init(struct task_struct *tsk)
  {
@@ -64,6 +64,8 @@
  	tsk->cputime_expires.prof_exp = 0;
  	tsk->cputime_expires.virt_exp = 0;
  	tsk->cputime_expires.sched_exp = 0;
+diff --git a/kernel/time/posix-cpu-timers.c b/kernel/time/posix-cpu-timers.c
+index d2a1e6dd0291..ebab42522ce8 100644
 --- a/kernel/time/posix-cpu-timers.c
 +++ b/kernel/time/posix-cpu-timers.c
 @@ -2,8 +2,10 @@
@@ -85,7 +87,7 @@
  
  /*
   * Called after updating RLIMIT_CPU to run cpu timer and update
-@@ -590,7 +593,7 @@ static int posix_cpu_timer_set(struct k_
+@@ -590,7 +593,7 @@ static int posix_cpu_timer_set(struct k_itimer *timer, int timer_flags,
  	/*
  	 * Disarm any old timer after extracting its expiry time.
  	 */
@@ -94,7 +96,7 @@
  
  	ret = 0;
  	old_incr = timer->it.cpu.incr;
-@@ -1014,7 +1017,7 @@ void posix_cpu_timer_schedule(struct k_i
+@@ -1027,7 +1030,7 @@ void posix_cpu_timer_schedule(struct k_itimer *timer)
  	/*
  	 * Now re-arm for the new expiry time.
  	 */
@@ -103,7 +105,7 @@
  	arm_timer(timer);
  	unlock_task_sighand(p, &flags);
  
-@@ -1103,13 +1106,13 @@ static inline int fastpath_timer_check(s
+@@ -1116,13 +1119,13 @@ static inline int fastpath_timer_check(struct task_struct *tsk)
   * already updated our counts.  We need to check if any timers fire now.
   * Interrupts are disabled.
   */
@@ -119,7 +121,7 @@
  
  	/*
  	 * The fast path checks that there are no expired thread or thread
-@@ -1163,6 +1166,152 @@ void run_posix_cpu_timers(struct task_st
+@@ -1176,6 +1179,152 @@ void run_posix_cpu_timers(struct task_struct *tsk)
  	}
  }
  
@@ -272,3 +274,6 @@
  /*
   * Set one of the process-wide special case CPU timers or RLIMIT_CPU.
   * The tsk->sighand->siglock must be held by the caller.
+-- 
+2.1.4
+