[PATCH 7/7] cpuacct: Clean up cpuacct.h

2013-03-27 Thread Li Zefan
Now most of the code in cpuacct.h can be moved to cpuacct.c

Signed-off-by: Li Zefan 
---
 kernel/sched/cpuacct.c | 44 +++-
 kernel/sched/cpuacct.h | 46 --
 2 files changed, 43 insertions(+), 47 deletions(-)

diff --git a/kernel/sched/cpuacct.c b/kernel/sched/cpuacct.c
index 071ae8d..9305fd2 100644
--- a/kernel/sched/cpuacct.c
+++ b/kernel/sched/cpuacct.c
@@ -16,7 +16,49 @@
  * (bal...@in.ibm.com).
  */
 
-struct cpuacct root_cpuacct;
+/* Time spent by the tasks of the cpu accounting group executing in ... */
+enum cpuacct_stat_index {
+   CPUACCT_STAT_USER,  /* ... user mode */
+   CPUACCT_STAT_SYSTEM,/* ... kernel mode */
+
+   CPUACCT_STAT_NSTATS,
+};
+
+/* track cpu usage of a group of tasks and its child groups */
+struct cpuacct {
+   struct cgroup_subsys_state css;
+   /* cpuusage holds pointer to a u64-type object on every cpu */
+   u64 __percpu *cpuusage;
+   struct kernel_cpustat __percpu *cpustat;
+};
+
+/* return cpu accounting group corresponding to this container */
+static inline struct cpuacct *cgroup_ca(struct cgroup *cgrp)
+{
+   return container_of(cgroup_subsys_state(cgrp, cpuacct_subsys_id),
+   struct cpuacct, css);
+}
+
+/* return cpu accounting group to which this task belongs */
+static inline struct cpuacct *task_ca(struct task_struct *tsk)
+{
+   return container_of(task_subsys_state(tsk, cpuacct_subsys_id),
+   struct cpuacct, css);
+}
+
+static inline struct cpuacct *__parent_ca(struct cpuacct *ca)
+{
+   return cgroup_ca(ca->css.cgroup->parent);
+}
+
+static inline struct cpuacct *parent_ca(struct cpuacct *ca)
+{
+   if (!ca->css.cgroup->parent)
+   return NULL;
+   return cgroup_ca(ca->css.cgroup->parent);
+}
+
+static struct cpuacct root_cpuacct;
 
 /* create a new cpu accounting group */
 static struct cgroup_subsys_state *cpuacct_css_alloc(struct cgroup *cgrp)
diff --git a/kernel/sched/cpuacct.h b/kernel/sched/cpuacct.h
index b2f79ad..51cd76e 100644
--- a/kernel/sched/cpuacct.h
+++ b/kernel/sched/cpuacct.h
@@ -1,51 +1,5 @@
-/* Time spent by the tasks of the cpu accounting group executing in ... */
-enum cpuacct_stat_index {
-   CPUACCT_STAT_USER,  /* ... user mode */
-   CPUACCT_STAT_SYSTEM,/* ... kernel mode */
-
-   CPUACCT_STAT_NSTATS,
-};
-
 #ifdef CONFIG_CGROUP_CPUACCT
 
-#include 
-/* track cpu usage of a group of tasks and its child groups */
-struct cpuacct {
-   struct cgroup_subsys_state css;
-   /* cpuusage holds pointer to a u64-type object on every cpu */
-   u64 __percpu *cpuusage;
-   struct kernel_cpustat __percpu *cpustat;
-};
-
-extern struct cgroup_subsys cpuacct_subsys;
-extern struct cpuacct root_cpuacct;
-
-/* return cpu accounting group corresponding to this container */
-static inline struct cpuacct *cgroup_ca(struct cgroup *cgrp)
-{
-   return container_of(cgroup_subsys_state(cgrp, cpuacct_subsys_id),
-   struct cpuacct, css);
-}
-
-/* return cpu accounting group to which this task belongs */
-static inline struct cpuacct *task_ca(struct task_struct *tsk)
-{
-   return container_of(task_subsys_state(tsk, cpuacct_subsys_id),
-   struct cpuacct, css);
-}
-
-static inline struct cpuacct *__parent_ca(struct cpuacct *ca)
-{
-   return cgroup_ca(ca->css.cgroup->parent);
-}
-
-static inline struct cpuacct *parent_ca(struct cpuacct *ca)
-{
-   if (!ca->css.cgroup->parent)
-   return NULL;
-   return cgroup_ca(ca->css.cgroup->parent);
-}
-
 extern void cpuacct_init(void);
 extern void cpuacct_charge(struct task_struct *tsk, u64 cputime);
 extern void cpuacct_account_field(struct task_struct *p, int index, u64 val);
-- 
1.8.0.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 7/7] cpuacct: Clean up cpuacct.h

2013-03-27 Thread Li Zefan
Now most of the code in cpuacct.h can be moved to cpuacct.c

Signed-off-by: Li Zefan lize...@huawei.com
---
 kernel/sched/cpuacct.c | 44 +++-
 kernel/sched/cpuacct.h | 46 --
 2 files changed, 43 insertions(+), 47 deletions(-)

diff --git a/kernel/sched/cpuacct.c b/kernel/sched/cpuacct.c
index 071ae8d..9305fd2 100644
--- a/kernel/sched/cpuacct.c
+++ b/kernel/sched/cpuacct.c
@@ -16,7 +16,49 @@
  * (bal...@in.ibm.com).
  */
 
-struct cpuacct root_cpuacct;
+/* Time spent by the tasks of the cpu accounting group executing in ... */
+enum cpuacct_stat_index {
+   CPUACCT_STAT_USER,  /* ... user mode */
+   CPUACCT_STAT_SYSTEM,/* ... kernel mode */
+
+   CPUACCT_STAT_NSTATS,
+};
+
+/* track cpu usage of a group of tasks and its child groups */
+struct cpuacct {
+   struct cgroup_subsys_state css;
+   /* cpuusage holds pointer to a u64-type object on every cpu */
+   u64 __percpu *cpuusage;
+   struct kernel_cpustat __percpu *cpustat;
+};
+
+/* return cpu accounting group corresponding to this container */
+static inline struct cpuacct *cgroup_ca(struct cgroup *cgrp)
+{
+   return container_of(cgroup_subsys_state(cgrp, cpuacct_subsys_id),
+   struct cpuacct, css);
+}
+
+/* return cpu accounting group to which this task belongs */
+static inline struct cpuacct *task_ca(struct task_struct *tsk)
+{
+   return container_of(task_subsys_state(tsk, cpuacct_subsys_id),
+   struct cpuacct, css);
+}
+
+static inline struct cpuacct *__parent_ca(struct cpuacct *ca)
+{
+   return cgroup_ca(ca-css.cgroup-parent);
+}
+
+static inline struct cpuacct *parent_ca(struct cpuacct *ca)
+{
+   if (!ca-css.cgroup-parent)
+   return NULL;
+   return cgroup_ca(ca-css.cgroup-parent);
+}
+
+static struct cpuacct root_cpuacct;
 
 /* create a new cpu accounting group */
 static struct cgroup_subsys_state *cpuacct_css_alloc(struct cgroup *cgrp)
diff --git a/kernel/sched/cpuacct.h b/kernel/sched/cpuacct.h
index b2f79ad..51cd76e 100644
--- a/kernel/sched/cpuacct.h
+++ b/kernel/sched/cpuacct.h
@@ -1,51 +1,5 @@
-/* Time spent by the tasks of the cpu accounting group executing in ... */
-enum cpuacct_stat_index {
-   CPUACCT_STAT_USER,  /* ... user mode */
-   CPUACCT_STAT_SYSTEM,/* ... kernel mode */
-
-   CPUACCT_STAT_NSTATS,
-};
-
 #ifdef CONFIG_CGROUP_CPUACCT
 
-#include linux/cgroup.h
-/* track cpu usage of a group of tasks and its child groups */
-struct cpuacct {
-   struct cgroup_subsys_state css;
-   /* cpuusage holds pointer to a u64-type object on every cpu */
-   u64 __percpu *cpuusage;
-   struct kernel_cpustat __percpu *cpustat;
-};
-
-extern struct cgroup_subsys cpuacct_subsys;
-extern struct cpuacct root_cpuacct;
-
-/* return cpu accounting group corresponding to this container */
-static inline struct cpuacct *cgroup_ca(struct cgroup *cgrp)
-{
-   return container_of(cgroup_subsys_state(cgrp, cpuacct_subsys_id),
-   struct cpuacct, css);
-}
-
-/* return cpu accounting group to which this task belongs */
-static inline struct cpuacct *task_ca(struct task_struct *tsk)
-{
-   return container_of(task_subsys_state(tsk, cpuacct_subsys_id),
-   struct cpuacct, css);
-}
-
-static inline struct cpuacct *__parent_ca(struct cpuacct *ca)
-{
-   return cgroup_ca(ca-css.cgroup-parent);
-}
-
-static inline struct cpuacct *parent_ca(struct cpuacct *ca)
-{
-   if (!ca-css.cgroup-parent)
-   return NULL;
-   return cgroup_ca(ca-css.cgroup-parent);
-}
-
 extern void cpuacct_init(void);
 extern void cpuacct_charge(struct task_struct *tsk, u64 cputime);
 extern void cpuacct_account_field(struct task_struct *p, int index, u64 val);
-- 
1.8.0.2
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/