Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: ARM tunings was Re: [PATCH 3/7] conf/machine/include: Cleanup MIPS tunings to match README
Date: Tue, 10 Apr 2012 12:39:17 -0500	[thread overview]
Message-ID: <4F847045.2030203@windriver.com> (raw)
In-Reply-To: <1334049817.28712.96.camel@phil-desktop>

On 4/10/12 4:23 AM, Phil Blundell wrote:
> On Mon, 2012-04-09 at 16:44 -0500, Mark Hatle wrote:
>> Depends on the distribution and reasons for these feeds.  What is typical is
>> that a base distribution will be generated for a common compatible (reasonable)
>> architecture.. i.e. armv5 -- with specific optimized package (glibc, openssl,
>> etc) for the target arch, i.e. armv7a.  Then you have a couple of packages
>> hand-tuned for size, speed, or other that define or not thumb and add even a
>> higher level of optimization.  It's possible, folks do it today.. but it's not
>> always obvious.  (I have existing customers today that run a mix like I
>> described through their own package feed like system.  They really don't care at
>> all that the core system is tuned for a given processor -- they only care that
>> their specific applications and certain areas are specifically tuned to their
>> use-cases.)  Note, this is not what I would consider a typical use-case!

> Sorry, I'm not quite sure I understand what point you're trying to make
> here.  Are you describing what your customers are currently doing with
> OE, or are you saying that this is something that they would like to do
> with OE but don't feel they are able to at present, or something else?


The company I work for has an existing product that does not use OE.  The 
customers using this have requested from us packages tagged with different 
package architectures to indicate the tuning and optimization information so 
that they can create multiple boards with the same software running on them. 
(This is closer to the traditional workstation/server model in my experience.) 
The multiple boards have a common set of OS applications that run on them. 
ARMv5 for the most part.  The customers then have optimized applications with or 
without thumb, and optimized for a variety of different ARM parts.  They then 
use the binary packages to assemble the filesystems, and perform field upgrades, 
on these boards as they are put into use.  The installation system uses a best 
to least best match when doing assembly actions.  So if the part is an ARMv7a, 
it will first look for ARMv7a w/ thumb, vfp and neon, not finding that, ARMv7a 
w/ thumb and vfp, then ARMv7a w/ thumb, then ARMv5 w/ thumb and vfp, then ARMv5 
w/ thumb, and finally fall back to the ARMv5 binaries.

> I'm still not entirely clear on what you feel is broken about the
> current state of the ARM tunings.  What exactly is the scenario that
> works with the "traditional workstaton/server Linux OS" and can't be
> replicated with OE?

With the current implementation, there is no package differentiation between 
thumb and non-thumb binaries.  I accept why this is in OE-core and I can live 
with that.  However, there are other binaries that are theoretically optimized 
from specific Cortex models to the more generic ARMv7a tunings.  Currently they 
all use the same package arch, which means I can't tell which CPU they're really 
for -- and this model (above) of best to least best match doesn't work.

On a pure embedded model, I doubt anyone would do this.  Thus it is a fairly 
unique embedded use-case, but a common Workstation/Server use case that is being 
replicated.

> But, all that aside, it seems ultimately that the exact way the
> PACKAGE_ARCHs are structured ought to be a DISTRO policy decision and
> not something that's mandated by the underlying infrastructure.  That
> would perhaps remove some of the need for tinkering with these things in
> oe-core itself.

I intend, after this release, to propose changes to differentiate the models in 
oe-core.  If the oe-core folks do not feel this is necessary, they I will 
maintain them on my own as I feel necessary to cover the above use-case.

I can very much understand that in OE, for ARM specifically the package arch is 
simply indicating basic compatibility and not ABI & ISA & Optimization like it 
is on other architectures.

--Mark

> p.
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




  reply	other threads:[~2012-04-10 17:48 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-03 19:47 [PATCH 0/7] Cleanup and document tuning files Mark Hatle
2012-04-03 19:47 ` [PATCH 1/7] conf/machine/include/README: Add readme to explain cpu tunings Mark Hatle
2012-04-04  0:40   ` Chris Larson
2012-04-04  1:58   ` Otavio Salvador
2012-04-03 19:47 ` [PATCH 2/7] conf/machine/include: Cleanup IA tunings to match README Mark Hatle
2012-04-03 19:47 ` [PATCH 3/7] conf/machine/include: Cleanup MIPS " Mark Hatle
2012-04-03 19:51   ` Phil Blundell
2012-04-03 19:57     ` Mark Hatle
2012-04-04 22:10   ` Andreas Oberritter
2012-04-05  4:17     ` Khem Raj
2012-04-06 17:33       ` Mark Hatle
2012-04-06 21:30         ` Khem Raj
2012-04-07  0:10           ` Mark Hatle
2012-04-08 21:34             ` Andreas Oberritter
2012-04-09 15:17               ` Mark Hatle
2012-04-09 15:56                 ` Koen Kooi
2012-04-09 16:03                   ` Mark Hatle
2012-04-09 20:06                 ` Andreas Oberritter
2012-04-09 20:25                   ` Mark Hatle
2012-04-09 20:51                     ` Andreas Oberritter
2012-04-09 21:00                     ` Mark Hatle
2012-04-09 21:03                     ` Phil Blundell
2012-04-09 21:21                       ` ARM tunings was " Mark Hatle
2012-04-09 21:30                         ` Phil Blundell
2012-04-09 21:44                           ` Mark Hatle
2012-04-10  9:23                             ` Phil Blundell
2012-04-10 17:39                               ` Mark Hatle [this message]
2012-04-10 19:33                                 ` Phil Blundell
2012-04-09 22:19                     ` Khem Raj
2012-04-03 19:47 ` [PATCH 4/7] conf/machine/include: Cleanup PowerPC " Mark Hatle
2012-04-04 18:02   ` Matthew McClintock
2012-04-04 19:57     ` Mark Hatle
2012-04-04 18:03   ` Matthew McClintock
2012-04-04 19:59     ` Mark Hatle
2012-04-03 19:47 ` [PATCH 5/7] conf/machine/include: Cleanup ARM " Mark Hatle
2012-04-03 19:47 ` [PATCH 6/7] conf/machine/include: Update SH " Mark Hatle
2012-04-03 19:47 ` [PATCH 7/7] binutils: Inform binutils that armv5e really is valid! Mark Hatle
2012-04-07  8:03   ` Khem Raj
2012-04-04 16:59 ` [PATCH 0/7 v2] Cleanup and document tuning files Saul Wold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F847045.2030203@windriver.com \
    --to=mark.hatle@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox