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