posix_cputimers_work
struct posix_cputimers_work posix_cputimers_work;
struct posix_cputimers_work *cw = container_of(work, typeof(*cw), work);
mutex_lock(&tsk->posix_cputimers_work.mutex);
mutex_unlock(&tsk->posix_cputimers_work.mutex);
memset(&p->posix_cputimers_work.work, 0,
sizeof(p->posix_cputimers_work.work));
init_task_work(&p->posix_cputimers_work.work,
mutex_init(&p->posix_cputimers_work.mutex);
p->posix_cputimers_work.scheduled = false;
return tsk->posix_cputimers_work.scheduled;
if (WARN_ON_ONCE(tsk->posix_cputimers_work.scheduled))
tsk->posix_cputimers_work.scheduled = true;
task_work_add(tsk, &tsk->posix_cputimers_work.work, TWA_RESUME);
tsk->posix_cputimers_work.scheduled = false;
tsk->posix_cputimers_work.scheduled = false;