diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/rcupdate.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index c84373626336..e22960ecb71a 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h | |||
@@ -136,6 +136,7 @@ static inline int rcu_read_lock_bh_held(void) | |||
136 | * can prove otherwise. Note that disabling of preemption (including | 136 | * can prove otherwise. Note that disabling of preemption (including |
137 | * disabling irqs) counts as an RCU-sched read-side critical section. | 137 | * disabling irqs) counts as an RCU-sched read-side critical section. |
138 | */ | 138 | */ |
139 | #ifdef CONFIG_PREEMPT | ||
139 | static inline int rcu_read_lock_sched_held(void) | 140 | static inline int rcu_read_lock_sched_held(void) |
140 | { | 141 | { |
141 | int lockdep_opinion = 0; | 142 | int lockdep_opinion = 0; |
@@ -144,6 +145,12 @@ static inline int rcu_read_lock_sched_held(void) | |||
144 | lockdep_opinion = lock_is_held(&rcu_sched_lock_map); | 145 | lockdep_opinion = lock_is_held(&rcu_sched_lock_map); |
145 | return lockdep_opinion || preempt_count() != 0 || !rcu_scheduler_active; | 146 | return lockdep_opinion || preempt_count() != 0 || !rcu_scheduler_active; |
146 | } | 147 | } |
148 | #else /* #ifdef CONFIG_PREEMPT */ | ||
149 | static inline int rcu_read_lock_sched_held(void) | ||
150 | { | ||
151 | return 1; | ||
152 | } | ||
153 | #endif /* #else #ifdef CONFIG_PREEMPT */ | ||
147 | 154 | ||
148 | #else /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */ | 155 | #else /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */ |
149 | 156 | ||
@@ -164,10 +171,17 @@ static inline int rcu_read_lock_bh_held(void) | |||
164 | return 1; | 171 | return 1; |
165 | } | 172 | } |
166 | 173 | ||
174 | #ifdef CONFIG_PREEMPT | ||
167 | static inline int rcu_read_lock_sched_held(void) | 175 | static inline int rcu_read_lock_sched_held(void) |
168 | { | 176 | { |
169 | return preempt_count() != 0 || !rcu_scheduler_active; | 177 | return preempt_count() != 0 || !rcu_scheduler_active; |
170 | } | 178 | } |
179 | #else /* #ifdef CONFIG_PREEMPT */ | ||
180 | static inline int rcu_read_lock_sched_held(void) | ||
181 | { | ||
182 | return 1; | ||
183 | } | ||
184 | #endif /* #else #ifdef CONFIG_PREEMPT */ | ||
171 | 185 | ||
172 | #endif /* #else #ifdef CONFIG_DEBUG_LOCK_ALLOC */ | 186 | #endif /* #else #ifdef CONFIG_DEBUG_LOCK_ALLOC */ |
173 | 187 | ||