posix-cpu-timers: Use clock ID in posix_cpu_timer_rearm()
Extract the clock ID (PROF/VIRT/SCHED) from the clock selector and use it as argument to the sample functions. That allows to simplify them once all callers are fixed. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Frederic Weisbecker <frederic@kernel.org> Link: https://lkml.kernel.org/r/20190821192920.245357769@linutronix.de
This commit is contained in:
parent
99093c5b81
commit
da020ce406
|
@ -987,6 +987,7 @@ static void check_process_timers(struct task_struct *tsk,
|
||||||
*/
|
*/
|
||||||
static void posix_cpu_timer_rearm(struct k_itimer *timer)
|
static void posix_cpu_timer_rearm(struct k_itimer *timer)
|
||||||
{
|
{
|
||||||
|
clockid_t clkid = CPUCLOCK_WHICH(timer->it_clock);
|
||||||
struct task_struct *p = timer->it.cpu.task;
|
struct task_struct *p = timer->it.cpu.task;
|
||||||
struct sighand_struct *sighand;
|
struct sighand_struct *sighand;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
@ -999,7 +1000,7 @@ static void posix_cpu_timer_rearm(struct k_itimer *timer)
|
||||||
* Fetch the current sample and update the timer's expiry time.
|
* Fetch the current sample and update the timer's expiry time.
|
||||||
*/
|
*/
|
||||||
if (CPUCLOCK_PERTHREAD(timer->it_clock)) {
|
if (CPUCLOCK_PERTHREAD(timer->it_clock)) {
|
||||||
cpu_clock_sample(timer->it_clock, p, &now);
|
cpu_clock_sample(clkid, p, &now);
|
||||||
bump_cpu_timer(timer, now);
|
bump_cpu_timer(timer, now);
|
||||||
if (unlikely(p->exit_state))
|
if (unlikely(p->exit_state))
|
||||||
return;
|
return;
|
||||||
|
@ -1025,7 +1026,7 @@ static void posix_cpu_timer_rearm(struct k_itimer *timer)
|
||||||
/* If the process is dying, no need to rearm */
|
/* If the process is dying, no need to rearm */
|
||||||
goto unlock;
|
goto unlock;
|
||||||
}
|
}
|
||||||
cpu_clock_sample_group(timer->it_clock, p, &now, true);
|
cpu_clock_sample_group(clkid, p, &now, true);
|
||||||
bump_cpu_timer(timer, now);
|
bump_cpu_timer(timer, now);
|
||||||
/* Leave the sighand locked for the call below. */
|
/* Leave the sighand locked for the call below. */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue