diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-05 12:52:14 -0500 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-05 12:52:14 -0500 | 
| commit | 607781762e7aae9c976f0a9a8829d4ba3e2da4ab (patch) | |
| tree | 933dad6ecb0be49e9b1ef41b69d5aa256510720e /include/linux/hardirq.h | |
| parent | d0b093a8b5ae34ee8be1f7e0dd197fe4788fa1d5 (diff) | |
| parent | 8bfb2f8e655b9d0c45fde679fcd5fd97e34513db (diff) | |
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)
  rcu: Make RCU's CPU-stall detector be default
  rcu: Add expedited grace-period support for preemptible RCU
  rcu: Enable fourth level of TREE_RCU hierarchy
  rcu: Rename "quiet" functions
  rcu: Re-arrange code to reduce #ifdef pain
  rcu: Eliminate unneeded function wrapping
  rcu: Fix grace-period-stall bug on large systems with CPU hotplug
  rcu: Eliminate __rcu_pending() false positives
  rcu: Further cleanups of use of lastcomp
  rcu: Simplify association of forced quiescent states with grace periods
  rcu: Accelerate callback processing on CPUs not detecting GP end
  rcu: Mark init-time-only rcu_bootup_announce() as __init
  rcu: Simplify association of quiescent states with grace periods
  rcu: Rename dynticks_completed to completed_fqs
  rcu: Enable synchronize_sched_expedited() fastpath
  rcu: Remove inline from forward-referenced functions
  rcu: Fix note_new_gpnum() uses of ->gpnum
  rcu: Fix synchronization for rcu_process_gp_end() uses of ->completed counter
  rcu: Prepare for synchronization fixes: clean up for non-NO_HZ handling of ->completed counter
  rcu: Cleanup: balance rcu_irq_enter()/rcu_irq_exit() calls
  ...
Diffstat (limited to 'include/linux/hardirq.h')
| -rw-r--r-- | include/linux/hardirq.h | 24 | 
1 files changed, 24 insertions, 0 deletions
| diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h index 6d527ee82b2b..d5b387669dab 100644 --- a/include/linux/hardirq.h +++ b/include/linux/hardirq.h | |||
| @@ -139,10 +139,34 @@ static inline void account_system_vtime(struct task_struct *tsk) | |||
| 139 | #endif | 139 | #endif | 
| 140 | 140 | ||
| 141 | #if defined(CONFIG_NO_HZ) | 141 | #if defined(CONFIG_NO_HZ) | 
| 142 | #if defined(CONFIG_TINY_RCU) | ||
| 143 | extern void rcu_enter_nohz(void); | ||
| 144 | extern void rcu_exit_nohz(void); | ||
| 145 | |||
| 146 | static inline void rcu_irq_enter(void) | ||
| 147 | { | ||
| 148 | rcu_exit_nohz(); | ||
| 149 | } | ||
| 150 | |||
| 151 | static inline void rcu_irq_exit(void) | ||
| 152 | { | ||
| 153 | rcu_enter_nohz(); | ||
| 154 | } | ||
| 155 | |||
| 156 | static inline void rcu_nmi_enter(void) | ||
| 157 | { | ||
| 158 | } | ||
| 159 | |||
| 160 | static inline void rcu_nmi_exit(void) | ||
| 161 | { | ||
| 162 | } | ||
| 163 | |||
| 164 | #else | ||
| 142 | extern void rcu_irq_enter(void); | 165 | extern void rcu_irq_enter(void); | 
| 143 | extern void rcu_irq_exit(void); | 166 | extern void rcu_irq_exit(void); | 
| 144 | extern void rcu_nmi_enter(void); | 167 | extern void rcu_nmi_enter(void); | 
| 145 | extern void rcu_nmi_exit(void); | 168 | extern void rcu_nmi_exit(void); | 
| 169 | #endif | ||
| 146 | #else | 170 | #else | 
| 147 | # define rcu_irq_enter() do { } while (0) | 171 | # define rcu_irq_enter() do { } while (0) | 
| 148 | # define rcu_irq_exit() do { } while (0) | 172 | # define rcu_irq_exit() do { } while (0) | 
