mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
merge task_work and rcu_head, get rid of separate allocation for keyring case
task_work and rcu_head are identical now; merge them (calling the result struct callback_head, rcu_head #define'd to it), kill separate allocation in security/keys since we can just use cred->rcu now. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
158e1645e0
commit
67d1214551
8 changed files with 31 additions and 52 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue