Ingo Molnar
b329fd5b01
sched/cpuacct/UML: Fix header file dependency bug on the UML build
...
The cpuacct split caused this build failure on UML:
kernel/sched/cpuacct.c:94:2: error: implicit declaration of function 'ERR_PTR'
Cc: Li Zefan <lizefan@huawei.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2013-04-10 15:12:41 +02:00
Li Zefan
a2b0ae25fc
sched/cpuacct: No need to check subsys active state
...
Now we're guaranteed when cpuacct_charge() and
cpuacct_account_field() are called, cpuacct has already been
properly initialized, so we no longer need those checks.
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/5155384C.7000508@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2013-04-10 13:54:22 +02:00
Li Zefan
621e2de024
sched/cpuacct: Initialize cpuacct subsystem earlier
...
Initialize cpuacct before the scheduler is functioning, so when
cpuacct_charge() and cpuacct_account_field() are called,
task_ca() won't return NULL.
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/5155383F.8000005@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2013-04-10 13:54:21 +02:00
Li Zefan
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
Li Zefan
7943e15a3e
sched/cpuacct: Allocate per_cpu cpuusage for root cpuacct statically
...
This is a preparation, so later we can initialize cpuacct
earlier.
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/51553822.5000403@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2013-04-10 13:54:20 +02:00
Li Zefan
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
Li Zefan
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
Li Zefan
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
Li Zefan
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
Li Zefan
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
Li Zefan
2e76c24d72
sched: Split cpuacct code out of core.c
...
Signed-off-by: Li Zefan <lizefan@huawei.com >
Acked-by: Peter Zijlstra <peterz@infradead.org >
Link: http://lkml.kernel.org/r/5155366F.5060404@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2013-04-10 13:54:15 +02:00