diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-03-19 04:47:30 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-03-19 04:47:30 -0400 |
commit | 0d4a42f6bd298e826620585e766a154ab460617a (patch) | |
tree | 406d8f7778691d858dbe3e48e4bbb10e99c0a58a /include/linux/hardirq.h | |
parent | d62b4892f3d9f7dd2002e5309be10719d6805b0f (diff) | |
parent | a937536b868b8369b98967929045f1df54234323 (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.h | 10 |
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 */ |