Patchwork [RFC,0/5] OPTDEFAULTTUNE for arm tune files

login
register
mail settings
Submitter Martin Jansa
Date Sept. 22, 2012, 4:51 p.m.
Message ID <cover.1348330479.git.Martin.Jansa@gmail.com>
Download mbox
Permalink /patch/37055/
State Superseded, archived
Headers show

Pull-request

git://git.openembedded.org/openembedded-core-contrib jansa/tune

Comments

Martin Jansa - Sept. 22, 2012, 4:51 p.m.
This patchset is just RFC because I've modified and tested it only for
tune-arm926ejs and tune-xscale (because I've tried to build qemuarm and
same builddir).

Also I have no strong opinion about used TUNE as suffix (see 1. patch)
or as ARMPKGARCH (see last patch, which reverts most of 1. patch).

And what's even bigger mess are PACKAGE_EXTRA_ARCHS, because to be correct
we should repeat all tune-armv5te variations with xscale prefix/suffix too,
while most people will have only
armv5te and (armv5te-xscale or xscale-te)
current tune files allow also armv4t-xscale etc...

But FWIW with this patchset I can build openssl for qemuarm and qemuarmx,
everything except openssl is shared and built just once and also just once in feed.

qemuarmx is the same like qemuarm but using tune-xscale, see
http://git.openembedded.org/openembedded-core-contrib/log/?h=jansa/qemu-tests

If we decide this is right way to fix it then it should be extended to all arm tune
files. And also somehow set default DEFAULTTUNE to OPTDEFAULTTUNE if 
PACKAGE_ARCH == MACHINE_ARCH (in this case we know we won't share the feed, so why
use best mtune available).

This allows finer control of which DEFAULTTUNE to use

1) default: don't use mtune, optimize only for march (don't mix mtune in
the same feed).

2) include optimized-tune.inc in distro.conf: use mtune only for some packages, but
with separate package feed for them

3) DEFAULTTUNE = ${OPTDEFAULTTUNE} in distro.conf: always use best mtune
available for MACHINE, but unlike current default, don't mix them in
same package feed

More info in thread:
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-September/029414.html

The following changes since commit 5e03d1e83d0536a2fc69a88d3e5407108836203f:

  gcc: Use 4.7.2 release tarball (2012-09-21 14:55:26 +0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib jansa/tune
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=jansa/tune

Martin Jansa (5):
  arch-arm: add ARMPKGSFX_CPU to TUNE_PKGARCH because we're using
    different TUNE_CCARGS
  tune-xscale, tune-arm926ejs: add OPTDEFAULTTUNE variable and use more
    generic DEFAULTTUNE as default
  optimized-tune.inc: add optional distro include
  bitbake.conf: add TUNE_CCARGS[vardepvalue]
  tune-xscale, tune-arm926ejs: drop ARMPKGSFX_CPU, change ARMPKGARCH
    instead

 meta/conf/bitbake.conf                       | 2 ++
 meta/conf/distro/include/optimized-tune.inc  | 2 ++
 meta/conf/machine/include/tune-arm926ejs.inc | 7 ++++---
 meta/conf/machine/include/tune-xscale.inc    | 8 +++++---
 4 files changed, 13 insertions(+), 6 deletions(-)
 create mode 100644 meta/conf/distro/include/optimized-tune.inc