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 ?
> 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

------------------------------------------------------------------------------
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