28.03.2012 13:57, Yves Blusseau написал:
> Le 28/03/2012 12:14, Andrew a écrit :
>> 28.03.2012 12:55, Yves Blusseau написал:
>>> Le 27/03/2012 22:04, davidMbrooke a écrit :
>>>> Thanks Mike. I have now completed the document based on what was in my
>>>> head. It now describes all the places where the build system has to be
>>>> configured in order to add a custom toolchain (really only 3 places -
>>>> some simple config settings in make/MasterInclude.mk, a custom patch for
>>>> the Linux kernel .config and a custom uClibc .config).
>>>>
>>>> I have also started a Discussion page at the same location to track Q&A.
>>>>
>>>> david
>>>>
>>> Thanks david for the documentation. Just some questions: i have a
>>> soekris net6501 board (with an Atom E6xx series processor).
>>> If i take the "standard" configuration (|i486-unknown-linux-uclibc)
>>> buildtoo.pl will use the parameters defined in ||make/MasterInclude.mk:
>>> |
>>>
>>> ARCH:=i386
>>> KARCHS:=i686 i486 geode
>>> KARCHS_PCIE:=i686
>>> ARCH_CFLAGS=-march=i486 -mtune=pentiumpro
>>>
>>> I think it's not optimal for my board (i don't have to compile for i486 and 
>>> mtune can be more specific).
>>>
>>> So my question: what is the best changes i need to do to have optimisation 
>>> for my board ?
>>> I think i need a specific triplet name like atom-net6501-linux-uclibc ?
>>> with in|make/MasterInclude.mk:|
>>>
>>> |else ifeq ($(GNU_TARGET_NAME),atom-net6501-linux-uclibc)
>>> # Primary kernel architecture
>>> export ARCH:=x86_64
>>> # Space-separated list of kernel sub-archs to generate
>>> export KARCHS:=net6501|
>>> export KARCHS_PCIE:=net6501
>>> |# Arch-specific CFLAGS
>>> export ARCH_CFLAGS=-march=atom -mtune=atom
>>>
>>> is it right (like the |KARCHS_PCIE) |?
>>>
>>> This is just a use case to understand how we can change things for a
>>> proper toolchain.
>>>
>>> Regards,
>>> Yves
>>> ||
>>> |
>> ARCH_CFLAGS involves only userland libraries, kernel is compiled for
>> selected arch - so you bother for 2-3% speedup of userland that is
>> negligible.
>> Tuning for specific arch instead of generic (pentium4 vs i686, atom vs
>> x86_64, etc) will give just some % of speed-up. Also switching from i686
>> to x86_64 may cause performance drop (larger code will cause more
>> frequent cache misses), and no performance boost at least on IPv4 (it
>> operates with 32bit or less data).
> Thanks andrew for the informations.
>> And second, for host names there are standard names, you can't defune
>> your own arch - libtool will not know it, and you'll have errors on
>> compilation.
> You speak about the net6501 for the KARCHS variable or the
> GNU_TARGET_NAME ?
GNU_TARGET_NAME
>> So if you want to speed-up your box - it'll be enough to make kernel
>> optimized for your box, and use it with generic userland for your
>> architecture.
> So the best is to OVERRIDE the i486-unknown-linux-uclibc triplet in
> make/MasterInclude.mk with something like:
>
> ifeq ($(GNU_TARGET_NAME),i486-unknown-linux-uclibc)
> # Primary kernel architecture
> export ARCH:=i386
> # Space-separated list of kernel sub-archs to generate
> export KARCHS:=net6501
> # Available kernel archs with pci-express support
> export KARCHS_PCIE:=i686
> # Arch-specific CFLAGS
> export ARCH_CFLAGS=-march=i486 -mtune=pentiumpro
>
> and create a dedicated kernel config file
> Bering-3.2.13.config-net6501.patch ?
>
> Yves
>
Not replace, just add new KARCH net6501 and add it in KARCHS_PCIE if you 
use pci-express devices.

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure

_______________________________________________
leaf-devel mailing list
leaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/leaf-devel

Reply via email to