Messages in this thread Patch in this message | | | Date | Thu, 2 Aug 2007 17:46:26 +0200 | From | Ingo Molnar <> | Subject | Re: CFS review |
| |
* Roman Zippel <zippel@linux-m68k.org> wrote:
> [...] With the increased text comes increased runtime memory usage, > e.g. task_struct increased so that only 5 of them instead 6 fit now > into 8KB.
yeah, thanks for the reminder, this is on my todo list. As i suspect you noticed it too, much of the task_struct size increase is not fundamental and not related to 64-bit math at all - it's simply debug and instrumentation overhead.
Look at the following table (i386, nodebug):
size ---- pre-CFS 1328 CFS 1472 CFS+patch 1376
the very small patch below gets rid of 96 bytes. And that's only the beginning.
Ingo
--------------------------------------------------> --- include/linux/sched.h | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-)
Index: linux/include/linux/sched.h =================================================================== --- linux.orig/include/linux/sched.h +++ linux/include/linux/sched.h @@ -905,23 +905,28 @@ struct sched_entity { struct rb_node run_node; unsigned int on_rq; + u64 exec_start; + u64 sum_exec_runtime; u64 wait_start_fair; + u64 sleep_start_fair; + +#ifdef CONFIG_SCHEDSTATS u64 wait_start; - u64 exec_start; + u64 wait_max; + s64 sum_wait_runtime; + u64 sleep_start; - u64 sleep_start_fair; - u64 block_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: */ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |