diff options
Diffstat (limited to 'include/linux/rcupdate_wait.h')
| -rw-r--r-- | include/linux/rcupdate_wait.h | 18 | 
1 files changed, 9 insertions, 9 deletions
diff --git a/include/linux/rcupdate_wait.h b/include/linux/rcupdate_wait.h index d07f0848802e..303ab9bee155 100644 --- a/include/linux/rcupdate_wait.h +++ b/include/linux/rcupdate_wait.h @@ -19,18 +19,18 @@ struct rcu_synchronize {  };  void wakeme_after_rcu(struct rcu_head *head); -void __wait_rcu_gp(bool checktiny, int n, call_rcu_func_t *crcu_array, +void __wait_rcu_gp(bool checktiny, unsigned int state, int n, call_rcu_func_t *crcu_array,  		   struct rcu_synchronize *rs_array); -#define _wait_rcu_gp(checktiny, ...) \ -do {									\ -	call_rcu_func_t __crcu_array[] = { __VA_ARGS__ };		\ -	struct rcu_synchronize __rs_array[ARRAY_SIZE(__crcu_array)];	\ -	__wait_rcu_gp(checktiny, ARRAY_SIZE(__crcu_array),		\ -			__crcu_array, __rs_array);			\ +#define _wait_rcu_gp(checktiny, state, ...) \ +do {												\ +	call_rcu_func_t __crcu_array[] = { __VA_ARGS__ };					\ +	struct rcu_synchronize __rs_array[ARRAY_SIZE(__crcu_array)];				\ +	__wait_rcu_gp(checktiny, state, ARRAY_SIZE(__crcu_array), __crcu_array, __rs_array);	\  } while (0) -#define wait_rcu_gp(...) _wait_rcu_gp(false, __VA_ARGS__) +#define wait_rcu_gp(...) _wait_rcu_gp(false, TASK_UNINTERRUPTIBLE, __VA_ARGS__) +#define wait_rcu_gp_state(state, ...) _wait_rcu_gp(false, state, __VA_ARGS__)  /**   * synchronize_rcu_mult - Wait concurrently for multiple grace periods @@ -54,7 +54,7 @@ do {									\   * grace period.   */  #define synchronize_rcu_mult(...) \ -	_wait_rcu_gp(IS_ENABLED(CONFIG_TINY_RCU), __VA_ARGS__) +	_wait_rcu_gp(IS_ENABLED(CONFIG_TINY_RCU), TASK_UNINTERRUPTIBLE, __VA_ARGS__)  static inline void cond_resched_rcu(void)  {  | 
