diff options
| -rw-r--r-- | include/linux/rcupdate.h | 2 | ||||
| -rw-r--r-- | kernel/rcupdate.c | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index 07db2feb8572..db266bbed23f 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h | |||
| @@ -190,6 +190,8 @@ static inline int rcu_read_lock_sched_held(void) | |||
| 190 | 190 | ||
| 191 | #ifdef CONFIG_PROVE_RCU | 191 | #ifdef CONFIG_PROVE_RCU |
| 192 | 192 | ||
| 193 | extern int rcu_my_thread_group_empty(void); | ||
| 194 | |||
| 193 | /** | 195 | /** |
| 194 | * rcu_dereference_check - rcu_dereference with debug checking | 196 | * rcu_dereference_check - rcu_dereference with debug checking |
| 195 | * @p: The pointer to read, prior to dereferencing | 197 | * @p: The pointer to read, prior to dereferencing |
diff --git a/kernel/rcupdate.c b/kernel/rcupdate.c index 03a7ea1579f6..49d808e833b0 100644 --- a/kernel/rcupdate.c +++ b/kernel/rcupdate.c | |||
| @@ -122,3 +122,14 @@ void wakeme_after_rcu(struct rcu_head *head) | |||
| 122 | rcu = container_of(head, struct rcu_synchronize, head); | 122 | rcu = container_of(head, struct rcu_synchronize, head); |
| 123 | complete(&rcu->completion); | 123 | complete(&rcu->completion); |
| 124 | } | 124 | } |
| 125 | |||
| 126 | #ifdef CONFIG_PROVE_RCU | ||
| 127 | /* | ||
| 128 | * wrapper function to avoid #include problems. | ||
| 129 | */ | ||
| 130 | int rcu_my_thread_group_empty(void) | ||
| 131 | { | ||
| 132 | return thread_group_empty(current); | ||
| 133 | } | ||
| 134 | EXPORT_SYMBOL_GPL(rcu_my_thread_group_empty); | ||
| 135 | #endif /* #ifdef CONFIG_PROVE_RCU */ | ||
