mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
trim task_work: get rid of hlist
layout based on Oleg's suggestion; single-linked list, task->task_works points to the last element, forward pointer from said last element points to head. I'd still prefer much more regular scheme with two pointers in task_work, but... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -8,7 +8,7 @@ struct task_work;
|
||||
typedef void (*task_work_func_t)(struct task_work *);
|
||||
|
||||
struct task_work {
|
||||
struct hlist_node hlist;
|
||||
struct task_work *next;
|
||||
task_work_func_t func;
|
||||
};
|
||||
|
||||
@@ -24,7 +24,7 @@ void task_work_run(void);
|
||||
|
||||
static inline void exit_task_work(struct task_struct *task)
|
||||
{
|
||||
if (unlikely(!hlist_empty(&task->task_works)))
|
||||
if (unlikely(task->task_works))
|
||||
task_work_run();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user