refresh rt-core-implementation.patch

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
diff --git a/rt-core-implementation.patch b/rt-core-implementation.patch
index 99661a3..108de20 100644
--- a/rt-core-implementation.patch
+++ b/rt-core-implementation.patch
@@ -1,4 +1,4 @@
-From c651e0c06f3ea64d302837cc3b576d6993694fd2 Mon Sep 17 00:00:00 2001
+From e5f224f353006a42af083210dee0a3c7b507aa1f Mon Sep 17 00:00:00 2001
 From: Ingo Molnar <mingo@elte.hu>
 Date: Fri, 3 Jul 2009 08:30:07 -0500
 Subject: [PATCH] rt: core implementation
@@ -27,10 +27,10 @@
  /*
   * Are we in NMI context?
 diff --git a/include/linux/kernel.h b/include/linux/kernel.h
-index 1221d23..3489c31 100644
+index 9365227..5215fbe 100644
 --- a/include/linux/kernel.h
 +++ b/include/linux/kernel.h
-@@ -123,7 +123,7 @@ extern int _cond_resched(void);
+@@ -133,7 +133,7 @@ extern int _cond_resched(void);
  # define might_resched() do { } while (0)
  #endif
  
@@ -39,7 +39,7 @@
    void __might_sleep(const char *file, int line, int preempt_offset);
  /**
   * might_sleep - annotation for functions that can sleep
-@@ -287,6 +287,12 @@ extern void printk_tick(void);
+@@ -297,6 +297,12 @@ extern void printk_tick(void);
  extern void asmlinkage __attribute__((format(printf, 1, 2)))
  	early_printk(const char *fmt, ...);
  
@@ -52,7 +52,7 @@
  unsigned long int_sqrt(unsigned long);
  
  static inline void console_silent(void)
-@@ -316,6 +322,7 @@ extern int root_mountflags;
+@@ -326,6 +332,7 @@ extern int root_mountflags;
  /* Values used for system_state */
  extern enum system_states {
  	SYSTEM_BOOTING,
@@ -90,10 +90,10 @@
  
  extern int prof_on __read_mostly;
 diff --git a/include/linux/radix-tree.h b/include/linux/radix-tree.h
-index c5da749..9eb17f9 100644
+index 55ca73c..630e94d 100644
 --- a/include/linux/radix-tree.h
 +++ b/include/linux/radix-tree.h
-@@ -169,7 +169,18 @@ unsigned long radix_tree_next_hole(struct radix_tree_root *root,
+@@ -176,7 +176,18 @@ unsigned long radix_tree_next_hole(struct radix_tree_root *root,
  				unsigned long index, unsigned long max_scan);
  unsigned long radix_tree_prev_hole(struct radix_tree_root *root,
  				unsigned long index, unsigned long max_scan);
@@ -112,7 +112,7 @@
  void radix_tree_init(void);
  void *radix_tree_tag_set(struct radix_tree_root *root,
  			unsigned long index, unsigned int tag);
-@@ -189,7 +200,9 @@ int radix_tree_tagged(struct radix_tree_root *root, unsigned int tag);
+@@ -196,7 +207,9 @@ int radix_tree_tagged(struct radix_tree_root *root, unsigned int tag);
  
  static inline void radix_tree_preload_end(void)
  {
@@ -123,7 +123,7 @@
  
  #endif /* _LINUX_RADIX_TREE_H */
 diff --git a/include/linux/smp.h b/include/linux/smp.h
-index 7a0570e..c55f2ca 100644
+index cfa2d20..97f377e 100644
 --- a/include/linux/smp.h
 +++ b/include/linux/smp.h
 @@ -50,6 +50,16 @@ extern void smp_send_stop(void);
@@ -308,7 +308,7 @@
  
  	  Say N if you are unsure.
 diff --git a/kernel/exit.c b/kernel/exit.c
-index 309df57..adeffd2 100644
+index 4b94bd4..3804e64 100644
 --- a/kernel/exit.c
 +++ b/kernel/exit.c
 @@ -69,7 +69,9 @@ static void __unhash_process(struct task_struct *p)
@@ -333,7 +333,7 @@
  	task_unlock(tsk);
  	mm_update_next_owner(mm);
  	mmput(mm);
-@@ -1501,6 +1505,9 @@ static int wait_consider_task(struct wait_opts *wo, int ptrace,
+@@ -1503,6 +1507,9 @@ static int wait_consider_task(struct wait_opts *wo, int ptrace,
  				struct task_struct *p)
  {
  	int ret = eligible_child(wo, p);
@@ -344,10 +344,10 @@
  		return ret;
  
 diff --git a/kernel/fork.c b/kernel/fork.c
-index c49f839..30086f9 100644
+index 22a84a6..4a2e451 100644
 --- a/kernel/fork.c
 +++ b/kernel/fork.c
-@@ -186,6 +186,16 @@ void __put_task_struct(struct task_struct *tsk)
+@@ -193,6 +193,16 @@ void __put_task_struct(struct task_struct *tsk)
  		free_task(tsk);
  }
  
@@ -387,10 +387,10 @@
  
  	down_write(&nh->rwsem);
 diff --git a/kernel/signal.c b/kernel/signal.c
-index 5c2181b..9dda83b 100644
+index 9ecee0f..e826006 100644
 --- a/kernel/signal.c
 +++ b/kernel/signal.c
-@@ -949,7 +949,9 @@ static int __send_signal(int sig, struct siginfo *info, struct task_struct *t,
+@@ -966,7 +966,9 @@ static int __send_signal(int sig, struct siginfo *info, struct task_struct *t,
  
  	trace_signal_generate(sig, info, t);
  
@@ -400,7 +400,7 @@
  
  	if (!prepare_signal(sig, t, from_ancestor_ns))
  		return 0;
-@@ -1710,15 +1712,8 @@ static void ptrace_stop(int exit_code, int clear_code, siginfo_t *info)
+@@ -1727,15 +1729,8 @@ static void ptrace_stop(int exit_code, int clear_code, siginfo_t *info)
  	read_lock(&tasklist_lock);
  	if (may_ptrace_stop()) {
  		do_notify_parent_cldstop(current, CLD_TRAPPED);
@@ -478,7 +478,7 @@
  
  #ifdef CONFIG_SMP
 diff --git a/kernel/workqueue.c b/kernel/workqueue.c
-index dee4865..fb74031 100644
+index 5bfb213..9f2f34d 100644
 --- a/kernel/workqueue.c
 +++ b/kernel/workqueue.c
 @@ -26,6 +26,7 @@
@@ -520,9 +520,9 @@
  {
  	if (del_timer_sync(&dwork->timer)) {
  		struct cpu_workqueue_struct *cwq;
--		cwq = wq_per_cpu(keventd_wq, get_cpu());
+-		cwq = wq_per_cpu(get_wq_data(&dwork->work)->wq, get_cpu());
 +		int cpu = raw_smp_processor_id();
-+		cwq = wq_per_cpu(keventd_wq, cpu);
++		cwq = wq_per_cpu(get_wq_data(&dwork->work)->wq, cpu);
  		__queue_work(cwq, &dwork->work);
 -		put_cpu();
  	}
@@ -585,10 +585,10 @@
 +	set_workqueue_prio(keventd_wq, SCHED_FIFO, 1, -20);
  }
 diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
-index 5e3407d..aa0142b 100644
+index 935248b..da38548 100644
 --- a/lib/Kconfig.debug
 +++ b/lib/Kconfig.debug
-@@ -415,6 +415,8 @@ config DEBUG_RT_MUTEXES
+@@ -416,6 +416,8 @@ config DEBUG_RT_MUTEXES
  	help
  	 This allows rt mutex semantics violations and rt mutex related
  	 deadlocks (lockups) to be detected and reported automatically.
@@ -597,7 +597,7 @@
  
  config DEBUG_PI_LIST
  	bool
-@@ -438,7 +440,7 @@ config DEBUG_SPINLOCK
+@@ -439,7 +441,7 @@ config DEBUG_SPINLOCK
  
  config DEBUG_MUTEXES
  	bool "Mutex debugging: basic checks"
@@ -607,7 +607,7 @@
  	 This feature allows mutex semantics violations to be detected and
  	 reported.
 diff --git a/lib/Makefile b/lib/Makefile
-index 3b0b4a6..2d21722 100644
+index 0d40152..1847796 100644
 --- a/lib/Makefile
 +++ b/lib/Makefile
 @@ -34,7 +34,8 @@ obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o
@@ -754,10 +754,10 @@
  	if (unexpected_testcase_failures) {
  		printk("-----------------------------------------------------------------\n");
 diff --git a/lib/radix-tree.c b/lib/radix-tree.c
-index 6b9670d..149f285 100644
+index 2a087e0..e66c9d9 100644
 --- a/lib/radix-tree.c
 +++ b/lib/radix-tree.c
-@@ -157,12 +157,14 @@ radix_tree_node_alloc(struct radix_tree_root *root)
+@@ -156,12 +156,14 @@ radix_tree_node_alloc(struct radix_tree_root *root)
  		 * succeed in getting a node here (and never reach
  		 * kmem_cache_alloc)
  		 */
@@ -772,7 +772,7 @@
  	}
  	if (ret == NULL)
  		ret = kmem_cache_alloc(radix_tree_node_cachep, gfp_mask);
-@@ -195,6 +197,8 @@ radix_tree_node_free(struct radix_tree_node *node)
+@@ -194,6 +196,8 @@ radix_tree_node_free(struct radix_tree_node *node)
  	call_rcu(&node->rcu_head, radix_tree_node_rcu_free);
  }
  
@@ -781,7 +781,7 @@
  /*
   * Load up this CPU's radix_tree_node buffer with sufficient objects to
   * ensure that the addition of a single element in the tree cannot fail.  On
-@@ -230,6 +234,8 @@ out:
+@@ -229,6 +233,8 @@ out:
  }
  EXPORT_SYMBOL(radix_tree_preload);