aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2017-09-25 11:12:04 -0400
committerTejun Heo <tj@kernel.org>2017-09-25 11:12:04 -0400
commitd2cc5ed6949085cfba30ec5228816cf6eb1d02b9 (patch)
tree52cd7323c6a2068f4ec1b4a08ad8a3ad674f5c81 /kernel
parentcfb766da54d98ceb145e1bb0bd11c559569dcbfc (diff)
cpuacct: Introduce cgroup_account_cputime[_field]()
Introduce cgroup_account_cputime[_field]() which wrap cpuacct_charge() and cgroup_account_field(). This doesn't introduce any functional changes and will be used to add cgroup basic resource accounting. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Peter Zijlstra <peterz@infradead.org> Cc: Ingo Molnar <mingo@redhat.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched/cpuacct.h17
-rw-r--r--kernel/sched/cputime.c2
-rw-r--r--kernel/sched/deadline.c2
-rw-r--r--kernel/sched/fair.c2
-rw-r--r--kernel/sched/rt.c2
-rw-r--r--kernel/sched/sched.h2
-rw-r--r--kernel/sched/stop_task.c2
7 files changed, 6 insertions, 23 deletions
diff --git a/kernel/sched/cpuacct.h b/kernel/sched/cpuacct.h
deleted file mode 100644
index ba72807c73d4..000000000000
--- a/kernel/sched/cpuacct.h
+++ /dev/null
@@ -1,17 +0,0 @@
1#ifdef CONFIG_CGROUP_CPUACCT
2
3extern void cpuacct_charge(struct task_struct *tsk, u64 cputime);
4extern void cpuacct_account_field(struct task_struct *tsk, int index, u64 val);
5
6#else
7
8static inline void cpuacct_charge(struct task_struct *tsk, u64 cputime)
9{
10}
11
12static inline void
13cpuacct_account_field(struct task_struct *tsk, int index, u64 val)
14{
15}
16
17#endif
diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c
index 8839b6e8a104..e01b699bbd5b 100644
--- a/kernel/sched/cputime.c
+++ b/kernel/sched/cputime.c
@@ -109,7 +109,7 @@ static inline void task_group_account_field(struct task_struct *p, int index,
109 */ 109 */
110 __this_cpu_add(kernel_cpustat.cpustat[index], tmp); 110 __this_cpu_add(kernel_cpustat.cpustat[index], tmp);
111 111
112 cpuacct_account_field(p, index, tmp); 112 cgroup_account_cputime_field(p, index, tmp);
113} 113}
114 114
115/* 115/*
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index 0191ec7667c3..abd913c1b99e 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -1143,7 +1143,7 @@ static void update_curr_dl(struct rq *rq)
1143 account_group_exec_runtime(curr, delta_exec); 1143 account_group_exec_runtime(curr, delta_exec);
1144 1144
1145 curr->se.exec_start = rq_clock_task(rq); 1145 curr->se.exec_start = rq_clock_task(rq);
1146 cpuacct_charge(curr, delta_exec); 1146 cgroup_account_cputime(curr, delta_exec);
1147 1147
1148 sched_rt_avg_update(rq, delta_exec); 1148 sched_rt_avg_update(rq, delta_exec);
1149 1149
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 70ba32e08a23..0ae69af95b8b 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -851,7 +851,7 @@ static void update_curr(struct cfs_rq *cfs_rq)
851 struct task_struct *curtask = task_of(curr); 851 struct task_struct *curtask = task_of(curr);
852 852
853 trace_sched_stat_runtime(curtask, delta_exec, curr->vruntime); 853 trace_sched_stat_runtime(curtask, delta_exec, curr->vruntime);
854 cpuacct_charge(curtask, delta_exec); 854 cgroup_account_cputime(curtask, delta_exec);
855 account_group_exec_runtime(curtask, delta_exec); 855 account_group_exec_runtime(curtask, delta_exec);
856 } 856 }
857 857
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
index 0af5ca9e3e3f..fdc2c5d1f82e 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
@@ -979,7 +979,7 @@ static void update_curr_rt(struct rq *rq)
979 account_group_exec_runtime(curr, delta_exec); 979 account_group_exec_runtime(curr, delta_exec);
980 980
981 curr->se.exec_start = rq_clock_task(rq); 981 curr->se.exec_start = rq_clock_task(rq);
982 cpuacct_charge(curr, delta_exec); 982 cgroup_account_cputime(curr, delta_exec);
983 983
984 sched_rt_avg_update(rq, delta_exec); 984 sched_rt_avg_update(rq, delta_exec);
985 985
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 14db76cd496f..f0b98f978843 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -29,6 +29,7 @@
29#include <linux/irq_work.h> 29#include <linux/irq_work.h>
30#include <linux/tick.h> 30#include <linux/tick.h>
31#include <linux/slab.h> 31#include <linux/slab.h>
32#include <linux/cgroup.h>
32 33
33#ifdef CONFIG_PARAVIRT 34#ifdef CONFIG_PARAVIRT
34#include <asm/paravirt.h> 35#include <asm/paravirt.h>
@@ -36,7 +37,6 @@
36 37
37#include "cpupri.h" 38#include "cpupri.h"
38#include "cpudeadline.h" 39#include "cpudeadline.h"
39#include "cpuacct.h"
40 40
41#ifdef CONFIG_SCHED_DEBUG 41#ifdef CONFIG_SCHED_DEBUG
42# define SCHED_WARN_ON(x) WARN_ONCE(x, #x) 42# define SCHED_WARN_ON(x) WARN_ONCE(x, #x)
diff --git a/kernel/sched/stop_task.c b/kernel/sched/stop_task.c
index 9f69fb630853..ec0bb5ab9024 100644
--- a/kernel/sched/stop_task.c
+++ b/kernel/sched/stop_task.c
@@ -71,7 +71,7 @@ static void put_prev_task_stop(struct rq *rq, struct task_struct *prev)
71 account_group_exec_runtime(curr, delta_exec); 71 account_group_exec_runtime(curr, delta_exec);
72 72
73 curr->se.exec_start = rq_clock_task(rq); 73 curr->se.exec_start = rq_clock_task(rq);
74 cpuacct_charge(curr, delta_exec); 74 cgroup_account_cputime(curr, delta_exec);
75} 75}
76 76
77static void task_tick_stop(struct rq *rq, struct task_struct *curr, int queued) 77static void task_tick_stop(struct rq *rq, struct task_struct *curr, int queued)