]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - kernel/sched/cputime.c
sched/cputime, powerpc, s390: Make scaled cputime arch specific
[mirror_ubuntu-bionic-kernel.git] / kernel / sched / cputime.c
index 3229c7244fdd568a7d5d3fc0e08d4f5d7356ef45..ba55ebf77f9a1e9cba2b83e3330d9b60a1fac4c2 100644 (file)
@@ -128,16 +128,13 @@ static inline void task_group_account_field(struct task_struct *p, int index,
  * Account user cpu time to a process.
  * @p: the process that the cpu time gets accounted to
  * @cputime: the cpu time spent in user space since the last update
- * @cputime_scaled: cputime scaled by cpu frequency
  */
-void account_user_time(struct task_struct *p, cputime_t cputime,
-                      cputime_t cputime_scaled)
+void account_user_time(struct task_struct *p, cputime_t cputime)
 {
        int index;
 
        /* Add user time to process. */
        p->utime += cputime;
-       p->utimescaled += cputime_scaled;
        account_group_user_time(p, cputime);
 
        index = (task_nice(p) > 0) ? CPUTIME_NICE : CPUTIME_USER;
@@ -153,16 +150,13 @@ void account_user_time(struct task_struct *p, cputime_t cputime,
  * Account guest cpu time to a process.
  * @p: the process that the cpu time gets accounted to
  * @cputime: the cpu time spent in virtual machine since the last update
- * @cputime_scaled: cputime scaled by cpu frequency
  */
-static void account_guest_time(struct task_struct *p, cputime_t cputime,
-                              cputime_t cputime_scaled)
+static void account_guest_time(struct task_struct *p, cputime_t cputime)
 {
        u64 *cpustat = kcpustat_this_cpu->cpustat;
 
        /* Add guest time to process. */
        p->utime += cputime;
-       p->utimescaled += cputime_scaled;
        account_group_user_time(p, cputime);
        p->gtime += cputime;
 
@@ -180,16 +174,13 @@ static void account_guest_time(struct task_struct *p, cputime_t cputime,
  * Account system cpu time to a process and desired cpustat field
  * @p: the process that the cpu time gets accounted to
  * @cputime: the cpu time spent in kernel space since the last update
- * @cputime_scaled: cputime scaled by cpu frequency
- * @target_cputime64: pointer to cpustat field that has to be updated
+ * @index: pointer to cpustat field that has to be updated
  */
 static inline
-void __account_system_time(struct task_struct *p, cputime_t cputime,
-                       cputime_t cputime_scaled, int index)
+void __account_system_time(struct task_struct *p, cputime_t cputime, int index)
 {
        /* Add system time to process. */
        p->stime += cputime;
-       p->stimescaled += cputime_scaled;
        account_group_system_time(p, cputime);
 
        /* Add system time to cpustat. */
@@ -204,15 +195,14 @@ void __account_system_time(struct task_struct *p, cputime_t cputime,
  * @p: the process that the cpu time gets accounted to
  * @hardirq_offset: the offset to subtract from hardirq_count()
  * @cputime: the cpu time spent in kernel space since the last update
- * @cputime_scaled: cputime scaled by cpu frequency
  */
 void account_system_time(struct task_struct *p, int hardirq_offset,
-                        cputime_t cputime, cputime_t cputime_scaled)
+                        cputime_t cputime)
 {
        int index;
 
        if ((p->flags & PF_VCPU) && (irq_count() - hardirq_offset == 0)) {
-               account_guest_time(p, cputime, cputime_scaled);
+               account_guest_time(p, cputime);
                return;
        }
 
@@ -223,7 +213,7 @@ void account_system_time(struct task_struct *p, int hardirq_offset,
        else
                index = CPUTIME_SYSTEM;
 
-       __account_system_time(p, cputime, cputime_scaled, index);
+       __account_system_time(p, cputime, index);
 }
 
 /*
@@ -410,15 +400,15 @@ static void irqtime_account_process_tick(struct task_struct *p, int user_tick,
                 * So, we have to handle it separately here.
                 * Also, p->stime needs to be updated for ksoftirqd.
                 */
-               __account_system_time(p, cputime, cputime, CPUTIME_SOFTIRQ);
+               __account_system_time(p, cputime, CPUTIME_SOFTIRQ);
        } else if (user_tick) {
-               account_user_time(p, cputime, cputime);
+               account_user_time(p, cputime);
        } else if (p == rq->idle) {
                account_idle_time(cputime);
        } else if (p->flags & PF_VCPU) { /* System time or guest time */
-               account_guest_time(p, cputime, cputime);
+               account_guest_time(p, cputime);
        } else {
-               __account_system_time(p, cputime, cputime, CPUTIME_SYSTEM);
+               __account_system_time(p, cputime, CPUTIME_SYSTEM);
        }
 }
 
@@ -521,9 +511,9 @@ void account_process_tick(struct task_struct *p, int user_tick)
        cputime -= steal;
 
        if (user_tick)
-               account_user_time(p, cputime, cputime);
+               account_user_time(p, cputime);
        else if ((p != rq->idle) || (irq_count() != HARDIRQ_OFFSET))
-               account_system_time(p, HARDIRQ_OFFSET, cputime, cputime);
+               account_system_time(p, HARDIRQ_OFFSET, cputime);
        else
                account_idle_time(cputime);
 }
@@ -744,7 +734,7 @@ static void __vtime_account_system(struct task_struct *tsk)
 {
        cputime_t delta_cpu = get_vtime_delta(tsk);
 
-       account_system_time(tsk, irq_count(), delta_cpu, delta_cpu);
+       account_system_time(tsk, irq_count(), delta_cpu);
 }
 
 void vtime_account_system(struct task_struct *tsk)
@@ -765,7 +755,7 @@ void vtime_account_user(struct task_struct *tsk)
        tsk->vtime_snap_whence = VTIME_SYS;
        if (vtime_delta(tsk)) {
                delta_cpu = get_vtime_delta(tsk);
-               account_user_time(tsk, delta_cpu, delta_cpu);
+               account_user_time(tsk, delta_cpu);
        }
        write_seqcount_end(&tsk->vtime_seqcount);
 }
@@ -921,25 +911,4 @@ void task_cputime(struct task_struct *t, cputime_t *utime, cputime_t *stime)
        if (stime)
                *stime += sdelta;
 }
-
-void task_cputime_scaled(struct task_struct *t,
-                        cputime_t *utimescaled, cputime_t *stimescaled)
-{
-       cputime_t udelta, sdelta;
-
-       if (!vtime_accounting_enabled()) {
-               if (utimescaled)
-                       *utimescaled = t->utimescaled;
-               if (stimescaled)
-                       *stimescaled = t->stimescaled;
-               return;
-       }
-
-       fetch_task_cputime(t, utimescaled, stimescaled,
-                          &t->utimescaled, &t->stimescaled, &udelta, &sdelta);
-       if (utimescaled)
-               *utimescaled += udelta;
-       if (stimescaled)
-               *stimescaled += sdelta;
-}
 #endif /* CONFIG_VIRT_CPU_ACCOUNTING_GEN */