diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/sched.h | 2 | ||||
| -rw-r--r-- | include/linux/task_work.h | 14 | ||||
| -rw-r--r-- | include/linux/types.h | 9 | 
3 files changed, 10 insertions, 15 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index b9216ebc278..af3555cc760 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1405,7 +1405,7 @@ struct task_struct {  	int (*notifier)(void *priv);  	void *notifier_data;  	sigset_t *notifier_mask; -	void *task_works; +	struct callback_head *task_works;  	struct audit_context *audit_context;  #ifdef CONFIG_AUDITSYSCALL diff --git a/include/linux/task_work.h b/include/linux/task_work.h index 3b3e2c8d037..fb46b03b185 100644 --- a/include/linux/task_work.h +++ b/include/linux/task_work.h @@ -4,22 +4,16 @@  #include <linux/list.h>  #include <linux/sched.h> -struct task_work; -typedef void (*task_work_func_t)(struct task_work *); - -struct task_work { -	struct task_work *next; -	task_work_func_t func; -}; +typedef void (*task_work_func_t)(struct callback_head *);  static inline void -init_task_work(struct task_work *twork, task_work_func_t func) +init_task_work(struct callback_head *twork, task_work_func_t func)  {  	twork->func = func;  } -int task_work_add(struct task_struct *task, struct task_work *twork, bool); -struct task_work *task_work_cancel(struct task_struct *, task_work_func_t); +int task_work_add(struct task_struct *task, struct callback_head *twork, bool); +struct callback_head *task_work_cancel(struct task_struct *, task_work_func_t);  void task_work_run(void);  static inline void exit_task_work(struct task_struct *task) diff --git a/include/linux/types.h b/include/linux/types.h index 9c1bd539ea7..bf0dd7524b2 100644 --- a/include/linux/types.h +++ b/include/linux/types.h @@ -246,14 +246,15 @@ struct ustat {  };  /** - * struct rcu_head - callback structure for use with RCU + * struct callback_head - callback structure for use with RCU and task_work   * @next: next update requests in a list   * @func: actual update function to call after the grace period.   */ -struct rcu_head { -	struct rcu_head *next; -	void (*func)(struct rcu_head *head); +struct callback_head { +	struct callback_head *next; +	void (*func)(struct callback_head *head);  }; +#define rcu_head callback_head  #endif	/* __KERNEL__ */  #endif /*  __ASSEMBLY__ */  |