[Celinux-dev] Re: Questions about Config_embedded presentation
munakata.hisao at renesas.com
munakata.hisao at renesas.com
Thu Aug 10 19:27:21 PDT 2006
Tim
Sorry for late response. Not only from pre-summer holiday confusion,
but also as "embedded profiling" is very important technical trial
for me, I needed sometime to shape my idea.
Initially I am not thinking about adding embedded board profiling
in "config embedded".
As we see in last OLS, mainline Linux kernel developer have a big
intention to utilize latest super rich computer resources like 4G byte
system memory, over 100 CPUs cluster system. I think it is natural
motivation for computer engineer, and quite a good trial.
However if Linux kernel is totally tuned for such large system,
I wonder it could not fit for the small embedded system.
I remember there was one discussion,
"Is kernel 2.6 is right selection for embedded system than 2.4 ? ".
I believe maturity of kernel core part is much better in 2.6 and in
most case I suggest our customer to move to 2.6 based modern
solution. But on the other hand basic kernel overhead is getting
bigger in 2.6 environment.
Please see attached pdf that introducing Matsubara-san's test
report regarding process scheduling performance comparison
between 2.4 and 2.6 with various condition. It shows process
scheduling overhead of kernel 2.4 in clean condition (= without
any disturbing process ) is 6.9 usec and it is much better than
kernel 2.6 result, that is 17.5 usec (yellow colored point)
Of course we also need to mention about RT-process under
high pressure runs much much better in kernel 2.6 than 2.4
( pink colored point ), and this is one of the reason why we
suggest to move to kernel 2.6 environment.
Anyway I am thinking if we can propose some special kernel
setting for targeting small system, it would be good discussion
point with mainline people. I understand we have no option
to change core kernel mechanism like OrderOne scheduler.
At this moment we have not verified enough to propose any
actual idea yet, but we want to keep thinking and experimenting
about these themas with my team, hopefully with CELF members.
Our current trial items are ...
- How can we trim scheduling overhead ?
( reduce priority granularity 140 step to 32 or some number )
- How can we trim memory allocator overhead ?
( Embedded system never expect 4G system memory, so we
want to eliminate excessive resource management in SLAB allocator)
- We want to tune default kernel setting for small system
( Not only kconfig menu itself, current default kernel include
many unused function as Tim pointed out. )
I understand this trial would touch kernel core logic part.
Of course I do not want to collapse current well configured
kernel logic, but if we can find any tuning for embedded system,
it would be great foundation for all CELF members.
Anyway need more time and discussion.
Best regards
Hisao Munakata
Renesas Solutions Corp
> I just read through a presentation on CONFIG_EMBEDDED from Jamboree 9
> (The presentation is here:
> http://tree.celinuxforum.org/CelfPubWiki/JapanTechnicalJamboree9?action=AttachFile&do=get&target=config_embedded_en.ppt
> )
>
> [By the way - Thanks very much, Ikoma-san, for the English translation.
> It
> is very nice to be able to see the Jamboree materials in English. There's
> definitely a lot of interesting stuff going on!]
>
> I'm interested in the questions on the final slide:
> ------------
> Raising the issue how to utilize config_embedded option already
> supported in kernel 2.6, can稚 we actively promote to incorporate
> profiling for embedded into mainline?
>
> Can稚 we propose several requirement profiles for embedded as
> current kernel tuning parameters and future extensions?
> ------------
>
> Munakata-san, I'm not sure what is meant by "profiles" in these
> questions. Are you talking about adding embedded default configuration
> files for each platform? What would be the purpose of having
> special "tuned parameters"? I can imagine having some default
> embedded configs for various boards, in an effort to preserve the tuning
> information required for minimally-sized kernels for different boards.
> But I wanted to see if you had other profiles in mind (like an
> embedded networking profile).
>
> As you know, the kernel default configs usually include many more
> features than are necessary for an embedded board used for a
> particular purpose. I think your idea to have more (embedded) profiles
> is a good idea, and I'd like to discuss it further.
>
> Please reply. Thanks,
> -- Tim
>
> P.S. There is a kernel patch available for a system called mini-config,
> which allows you to provide kernel configuration tuning information in
> a more compact format. This system was created by Rob Landley, the
> current busybox maintainer, and is described here:
> http://lwn.net/Articles/160497/
> This might be a good format to use for embedded configuration profiles.
>
> =============================
> Tim Bird
> Architecture Group Chair, CE Linux Forum
> Senior Staff Engineer, Sony Electronics
> =============================
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: process_scheduling_test.pdf
Type: application/pdf
Size: 82219 bytes
Desc: not available
Url : http://tree.celinuxforum.org/pipermail/celinux-dev/attachments/20060810/60b0bef5/process_scheduling_test-0001.pdf
More information about the Celinux-dev
mailing list