[PATCH] sched: reduce task_struct size
more task_struct size reduction, by moving the debugging/instrumentation
fields to under CONFIG_SCHEDSTATS:
(i386, nodebug):
size
----
pre-CFS 1328
CFS 1472
CFS+patch 1376
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/include/linux/sched.h b/include/linux/sched.h
index c9e0c2a..17249fa 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -904,23 +904,28 @@
struct rb_node run_node;
unsigned int on_rq;
- u64 wait_start_fair;
- u64 wait_start;
u64 exec_start;
- u64 sleep_start;
+ u64 sum_exec_runtime;
+ u64 wait_start_fair;
u64 sleep_start_fair;
- u64 block_start;
+
+#ifdef CONFIG_SCHEDSTATS
+ u64 wait_start;
+ u64 wait_max;
+ s64 sum_wait_runtime;
+
+ u64 sleep_start;
u64 sleep_max;
+ s64 sum_sleep_runtime;
+
+ u64 block_start;
u64 block_max;
u64 exec_max;
- u64 wait_max;
- u64 last_ran;
- u64 sum_exec_runtime;
- s64 sum_wait_runtime;
- s64 sum_sleep_runtime;
unsigned long wait_runtime_overruns;
unsigned long wait_runtime_underruns;
+#endif
+
#ifdef CONFIG_FAIR_GROUP_SCHED
struct sched_entity *parent;
/* rq on which this entity is (to be) queued: */