aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/hardirq.h
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-03-19 04:47:30 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-03-19 04:47:30 -0400
commit0d4a42f6bd298e826620585e766a154ab460617a (patch)
tree406d8f7778691d858dbe3e48e4bbb10e99c0a58a /include/linux/hardirq.h
parentd62b4892f3d9f7dd2002e5309be10719d6805b0f (diff)
parenta937536b868b8369b98967929045f1df54234323 (diff)
Merge tag 'v3.9-rc3' into drm-intel-next-queued
Backmerge so that I can merge Imre Deak's coalesced sg entries fixes, which depend upon the new for_each_sg_page introduce in commit a321e91b6d73ed011ffceed384c40d2785cf723b Author: Imre Deak <imre.deak@intel.com> Date: Wed Feb 27 17:02:56 2013 -0800 lib/scatterlist: add simple page iterator The merge itself is just two trivial conflicts: Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'include/linux/hardirq.h')
-rw-r--r--include/linux/hardirq.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h
index 624ef3f45c8e..c1d6555d2567 100644
--- a/include/linux/hardirq.h
+++ b/include/linux/hardirq.h
@@ -118,10 +118,8 @@
118 118
119#ifdef CONFIG_PREEMPT_COUNT 119#ifdef CONFIG_PREEMPT_COUNT
120# define preemptible() (preempt_count() == 0 && !irqs_disabled()) 120# define preemptible() (preempt_count() == 0 && !irqs_disabled())
121# define IRQ_EXIT_OFFSET (HARDIRQ_OFFSET-1)
122#else 121#else
123# define preemptible() 0 122# define preemptible() 0
124# define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
125#endif 123#endif
126 124
127#if defined(CONFIG_SMP) || defined(CONFIG_GENERIC_HARDIRQS) 125#if defined(CONFIG_SMP) || defined(CONFIG_GENERIC_HARDIRQS)
@@ -153,7 +151,7 @@ extern void rcu_nmi_exit(void);
153 */ 151 */
154#define __irq_enter() \ 152#define __irq_enter() \
155 do { \ 153 do { \
156 vtime_account_irq_enter(current); \ 154 account_irq_enter_time(current); \
157 add_preempt_count(HARDIRQ_OFFSET); \ 155 add_preempt_count(HARDIRQ_OFFSET); \
158 trace_hardirq_enter(); \ 156 trace_hardirq_enter(); \
159 } while (0) 157 } while (0)
@@ -169,7 +167,7 @@ extern void irq_enter(void);
169#define __irq_exit() \ 167#define __irq_exit() \
170 do { \ 168 do { \
171 trace_hardirq_exit(); \ 169 trace_hardirq_exit(); \
172 vtime_account_irq_exit(current); \ 170 account_irq_exit_time(current); \
173 sub_preempt_count(HARDIRQ_OFFSET); \ 171 sub_preempt_count(HARDIRQ_OFFSET); \
174 } while (0) 172 } while (0)
175 173
@@ -180,10 +178,10 @@ extern void irq_exit(void);
180 178
181#define nmi_enter() \ 179#define nmi_enter() \
182 do { \ 180 do { \
181 lockdep_off(); \
183 ftrace_nmi_enter(); \ 182 ftrace_nmi_enter(); \
184 BUG_ON(in_nmi()); \ 183 BUG_ON(in_nmi()); \
185 add_preempt_count(NMI_OFFSET + HARDIRQ_OFFSET); \ 184 add_preempt_count(NMI_OFFSET + HARDIRQ_OFFSET); \
186 lockdep_off(); \
187 rcu_nmi_enter(); \ 185 rcu_nmi_enter(); \
188 trace_hardirq_enter(); \ 186 trace_hardirq_enter(); \
189 } while (0) 187 } while (0)
@@ -192,10 +190,10 @@ extern void irq_exit(void);
192 do { \ 190 do { \
193 trace_hardirq_exit(); \ 191 trace_hardirq_exit(); \
194 rcu_nmi_exit(); \ 192 rcu_nmi_exit(); \
195 lockdep_on(); \
196 BUG_ON(!in_nmi()); \ 193 BUG_ON(!in_nmi()); \
197 sub_preempt_count(NMI_OFFSET + HARDIRQ_OFFSET); \ 194 sub_preempt_count(NMI_OFFSET + HARDIRQ_OFFSET); \
198 ftrace_nmi_exit(); \ 195 ftrace_nmi_exit(); \
196 lockdep_on(); \
199 } while (0) 197 } while (0)
200 198
201#endif /* LINUX_HARDIRQ_H */ 199#endif /* LINUX_HARDIRQ_H */