Lines Matching full:ca
44 static inline struct cpuacct *parent_ca(struct cpuacct *ca) in parent_ca() argument
46 return css_ca(ca->css.parent); in parent_ca()
59 struct cpuacct *ca; in cpuacct_css_alloc() local
64 ca = kzalloc(sizeof(*ca), GFP_KERNEL); in cpuacct_css_alloc()
65 if (!ca) in cpuacct_css_alloc()
68 ca->cpuusage = alloc_percpu(u64); in cpuacct_css_alloc()
69 if (!ca->cpuusage) in cpuacct_css_alloc()
72 ca->cpustat = alloc_percpu(struct kernel_cpustat); in cpuacct_css_alloc()
73 if (!ca->cpustat) in cpuacct_css_alloc()
76 return &ca->css; in cpuacct_css_alloc()
79 free_percpu(ca->cpuusage); in cpuacct_css_alloc()
81 kfree(ca); in cpuacct_css_alloc()
89 struct cpuacct *ca = css_ca(css); in cpuacct_css_free() local
91 free_percpu(ca->cpustat); in cpuacct_css_free()
92 free_percpu(ca->cpuusage); in cpuacct_css_free()
93 kfree(ca); in cpuacct_css_free()
96 static u64 cpuacct_cpuusage_read(struct cpuacct *ca, int cpu, in cpuacct_cpuusage_read() argument
99 u64 *cpuusage = per_cpu_ptr(ca->cpuusage, cpu); in cpuacct_cpuusage_read()
100 u64 *cpustat = per_cpu_ptr(ca->cpustat, cpu)->cpustat; in cpuacct_cpuusage_read()
137 static void cpuacct_cpuusage_write(struct cpuacct *ca, int cpu) in cpuacct_cpuusage_write() argument
139 u64 *cpuusage = per_cpu_ptr(ca->cpuusage, cpu); in cpuacct_cpuusage_write()
140 u64 *cpustat = per_cpu_ptr(ca->cpustat, cpu)->cpustat; in cpuacct_cpuusage_write()
143 if (ca == &root_cpuacct) in cpuacct_cpuusage_write()
166 struct cpuacct *ca = css_ca(css); in __cpuusage_read() local
171 totalcpuusage += cpuacct_cpuusage_read(ca, i, index); in __cpuusage_read()
196 struct cpuacct *ca = css_ca(css); in cpuusage_write() local
206 cpuacct_cpuusage_write(ca, cpu); in cpuusage_write()
214 struct cpuacct *ca = css_ca(seq_css(m)); in __cpuacct_percpu_seq_show() local
219 percpu = cpuacct_cpuusage_read(ca, i, index); in __cpuacct_percpu_seq_show()
243 struct cpuacct *ca = css_ca(seq_css(m)); in cpuacct_all_seq_show() local
256 cpuacct_cpuusage_read(ca, cpu, index)); in cpuacct_all_seq_show()
264 struct cpuacct *ca = css_ca(seq_css(sf)); in cpuacct_stats_show() local
272 u64 *cpustat = per_cpu_ptr(ca->cpustat, cpu)->cpustat; in cpuacct_stats_show()
280 cputime.sum_exec_runtime += *per_cpu_ptr(ca->cpuusage, cpu); in cpuacct_stats_show()
339 struct cpuacct *ca; in cpuacct_charge() local
343 for (ca = task_ca(tsk); ca; ca = parent_ca(ca)) in cpuacct_charge()
344 *per_cpu_ptr(ca->cpuusage, cpu) += cputime; in cpuacct_charge()
354 struct cpuacct *ca; in cpuacct_account_field() local
356 for (ca = task_ca(tsk); ca != &root_cpuacct; ca = parent_ca(ca)) in cpuacct_account_field()
357 __this_cpu_add(ca->cpustat->cpustat[index], val); in cpuacct_account_field()