summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/time/posix-cpu-timers.c30
1 files changed, 9 insertions, 21 deletions
diff --git a/kernel/time/posix-cpu-timers.c b/kernel/time/posix-cpu-timers.c
index 98dab3e4be08..b1c97664a730 100644
--- a/kernel/time/posix-cpu-timers.c
+++ b/kernel/time/posix-cpu-timers.c
@@ -130,23 +130,6 @@ static inline int task_cputime_zero(const struct task_cputime *cputime)
return 0;
}
-static inline u64 prof_ticks(struct task_struct *p)
-{
- u64 utime, stime;
-
- task_cputime(p, &utime, &stime);
-
- return utime + stime;
-}
-static inline u64 virt_ticks(struct task_struct *p)
-{
- u64 utime, stime;
-
- task_cputime(p, &utime, &stime);
-
- return utime;
-}
-
static int
posix_cpu_clock_getres(const clockid_t which_clock, struct timespec64 *tp)
{
@@ -184,13 +167,18 @@ posix_cpu_clock_set(const clockid_t clock, const struct timespec64 *tp)
*/
static u64 cpu_clock_sample(const clockid_t clkid, struct task_struct *p)
{
+ u64 utime, stime;
+
+ if (clkid == CPUCLOCK_SCHED)
+ return task_sched_runtime(p);
+
+ task_cputime(p, &utime, &stime);
+
switch (clkid) {
case CPUCLOCK_PROF:
- return prof_ticks(p);
+ return utime + stime;
case CPUCLOCK_VIRT:
- return virt_ticks(p);
- case CPUCLOCK_SCHED:
- return task_sched_runtime(p);
+ return utime;
default:
WARN_ON_ONCE(1);
}