posix-cpu-timers: Move state tracking to struct posix_cputimers
Put it where it belongs and clean up the ifdeffery in fork completely. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lkml.kernel.org/r/20190821192922.743229404@linutronix.de
This commit is contained in:
@@ -70,7 +70,7 @@ void thread_group_sample_cputime(struct task_struct *tsk, u64 *samples);
|
||||
*/
|
||||
|
||||
/**
|
||||
* get_running_cputimer - return &tsk->signal->cputimer if cputimer is running
|
||||
* get_running_cputimer - return &tsk->signal->cputimer if cputimers are active
|
||||
*
|
||||
* @tsk: Pointer to target task.
|
||||
*/
|
||||
@@ -80,8 +80,11 @@ struct thread_group_cputimer *get_running_cputimer(struct task_struct *tsk)
|
||||
{
|
||||
struct thread_group_cputimer *cputimer = &tsk->signal->cputimer;
|
||||
|
||||
/* Check if cputimer isn't running. This is accessed without locking. */
|
||||
if (!READ_ONCE(cputimer->running))
|
||||
/*
|
||||
* Check whether posix CPU timers are active. If not the thread
|
||||
* group accounting is not active either. Lockless check.
|
||||
*/
|
||||
if (!READ_ONCE(tsk->signal->posix_cputimers.timers_active))
|
||||
return NULL;
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user