73e6aafd9e
sched/cpuacct: Simplify the cpuacct code
...
- Use for() instead of while() loop in some functions
to make the code simpler.
- Use this_cpu_ptr() instead of per_cpu_ptr() to make the code
cleaner and a bit faster.
Suggested-by: Peter Zijlstra <peterz@infradead.org >
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com >
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Tejun Heo <htejun@gmail.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/d8a7ef9592f55224630cb26dea239f05b6398a4e.1458187654.git.zhaolei@cn.fujitsu.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-03-21 11:00:28 +01:00
14c6d3c8a4
sched/cpuacct: Initialize root cpuacct earlier
...
Now we don't need cpuacct_init(), and instead we just initialize
root_cpuacct when it's defined.
Signed-off-by: Li Zefan <lizefan@huawei.com >
Cc: Tejun Heo <tj@kernel.org >
Acked-by: Peter Zijlstra <peterz@infradead.org >
Link: http://lkml.kernel.org/r/51553834.9090701@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2013-04-10 13:54:20 +02:00
d1712796a8
sched/cpuacct: Clean up cpuacct.h
...
Now most of the code in cpuacct.h can be moved to cpuacct.c
Signed-off-by: Li Zefan <lizefan@huawei.com >
Acked-by: Peter Zijlstra <peterz@infradead.org >
Link: http://lkml.kernel.org/r/515536D5.2080401@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2013-04-10 13:54:19 +02:00
5f40d80432
sched/cpuacct: Remove redundant NULL checks in cpuacct_acount_field()
...
This is a micro optimazation for a hot path.
- We don't need to check if @ca returned from task_ca() is NULL.
- We don't need to check if @ca returned from parent_ca() is NULL.
Signed-off-by: Li Zefan <lizefan@huawei.com >
Acked-by: Peter Zijlstra <peterz@infradead.org >
Link: http://lkml.kernel.org/r/515536B7.6060602@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2013-04-10 13:54:18 +02:00
543bc0e76e
sched/cpuacct: Remove redundant NULL checks in cpuacct_charge()
...
This is a micro optimization for the hot path.
- We don't need to check if @ca is NULL in parent_ca().
- We don't need to check if @ca is NULL in the beginning of the for loop.
Signed-off-by: Li Zefan <lizefan@huawei.com >
Acked-by: Peter Zijlstra <peterz@infradead.org >
Link: http://lkml.kernel.org/r/515536A9.5000700@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2013-04-10 13:54:18 +02:00
1966aaf7d5
sched/cpuacct: Add cpuacct_acount_field()
...
So we can remove open-coded cpuacct code in cputime.c.
Signed-off-by: Li Zefan <lizefan@huawei.com >
Acked-by: Peter Zijlstra <peterz@infradead.org >
Link: http://lkml.kernel.org/r/51553692.9060008@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2013-04-10 13:54:17 +02:00
dbe4b41f98
sched/cpuacct: Add cpuacct_init()
...
So we don't open-coded initialization of cpuacct in core.c.
Signed-off-by: Li Zefan <lizefan@huawei.com >
Acked-by: Peter Zijlstra <peterz@infradead.org >
Link: http://lkml.kernel.org/r/51553687.1060906@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2013-04-10 13:54:16 +02:00
60fed7891d
sched: Split cpuacct code out of sched.h
...
Add cpuacct.h and let sched.h include it.
Signed-off-by: Li Zefan <lizefan@huawei.com >
Acked-by: Peter Zijlstra <peterz@infradead.org >
Link: http://lkml.kernel.org/r/5155367B.2060506@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2013-04-10 13:54:16 +02:00