From: Rob Landley <rob@landley.net>
To: cotulla@yandex.ua
Cc: linux-hexagon@vger.kernel.org
Subject: Re: [DISCUSSION] Hexagon code inside kernel
Date: Tue, 26 Feb 2013 18:58:15 -0600 [thread overview]
Message-ID: <1361926695.18483.1@driftwood> (raw)
In-Reply-To: <5251361904861@web14e.yandex.ru> (from cotulla@yandex.ua on Tue Feb 26 12:54:21 2013)
On 02/26/2013 12:54:21 PM, cotulla@yandex.ua wrote:
>
> > You're comparing arm performance with QDSP6 by writing pessimal
> QDSP6
> > code that does single-byte moves and keeps half the execution units
> > idle. You're going to get some extremely useful numbers out of
> that,
> > aren't you? (Even their uClibc port had an assembly optimized
> > memmove().)
> Well, is it simular to usual C/C++ code task and results of
> compilation?
Not for strcpy(), strcat(), memcpy(), memmove(), structure assignment...
> Until you will do a manual assembler optimization.
No, until your libc does the manual assembler optimization of common
operations _for_ you (which is half the reason there's target-specific
code), and you use the right functions.
> > Is your arm code also doing single byte moves, with the requisite
> > bit-shifting and masking that doing that on arm entails (since
> last I
> > checked arm hasn't actually _got_ instructions that handle bytes,
> > although maybe it went into thumb2 or v7 or v8 when I wasn't
> > looking...)?
> ARM has LDRB and STRB instructions long time ago (ever in ARMv4)
>
> Okay, seems this is really bad test.
That was my point, yes.
I honestly dunno how good the hexagon optimizer in gcc is. (The
qualcomm guys did extensive hand-hacked assembly, platform hasn't been
all that widely used outside of there.) We've gone a touch beyond
"duff's device" these days...
> > Specifically, the v2 hardware (in the snapdragon chipset in the
> Nexus
> > One) has 6 register profiles (for the 6 pipeline stages, acting as
> > 6-way SMP) but performance peaked at "make -j 3" which ran very
> > slightly faster than "make -j 4", and then -j 5 and -j 6 were each
> > noticeably slower (due to TLB thrashing).
> Intersting to know that.
> I want to get SSH access to got console and interaction with system.
I miss having that myself. I built Aboriginal Linux on target and built
Linux From Scratch and chunks of Beyond Linux From Scratch under it and
the result was a fairly decent machine. I would love to support it in
my upstream vanilla projects, but Qualcomm never gave me (or anyone
else) the tools to do that outside of employee context.
> > I believe that v3 had already taped out by then (late 2010, but it
> had
> > fewer pipeline stages and thus register profiles anyway), and then
> v4
> > was going to increase the TLB entries. What actually shipped was
> after
> > my time, dunno the details.
> v3 should be rather close to v2, but v4 seems to have few new
> features.
> At the current moment all v2 source code works on v3.
They're backwards but not forwards compatible. v2 works on v3 and v4,
but v4 may not work on v2. (Most architectures work that way.)
Over in the arm world, moving from armv4l to armv5l gives you about a
25% performance boost (which means 25% more battery life if it races it
idle faster), and Arm EABI standard requires thumb instructions
(armv4tl). But otherwise, you can run the old code just fine.
Rob--
To unsubscribe from this list: send the line "unsubscribe linux-hexagon" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2013-02-27 0:58 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-15 14:28 [DISCUSSION] Hexagon code inside kernel cotulla
[not found] ` <CAHrUA364XES66kXhr0Gg1dh_MQBAS0+R8Q4x+EY3dgz6s=QRww@mail.gmail.com>
2013-02-15 22:33 ` Linas Vepstas
2013-02-16 1:35 ` cotulla
2013-02-16 2:34 ` Linas Vepstas
2013-02-16 12:39 ` cotulla
2013-02-16 17:33 ` Linas Vepstas
2013-02-16 19:21 ` cotulla
2013-02-19 4:36 ` rkuo
2013-02-19 14:29 ` Linas Vepstas
2013-02-20 1:07 ` cotulla
2013-02-20 1:17 ` cotulla
2013-02-23 4:24 ` Rob Landley
2013-02-24 12:00 ` cotulla
2013-02-24 16:32 ` Linas Vepstas
2013-02-24 17:29 ` cotulla
2013-02-24 21:03 ` Linas Vepstas
2013-02-25 17:26 ` Rob Landley
2013-02-26 18:54 ` cotulla
2013-02-27 0:58 ` Rob Landley [this message]
2013-02-27 12:39 ` cotulla
2013-02-24 12:23 ` cotulla
2013-02-26 6:55 ` Rob Landley
2013-02-26 19:30 ` cotulla
2013-02-26 19:32 ` cotulla
2013-02-26 19:59 ` Linas Vepstas
2013-02-26 20:25 ` cotulla
2013-02-26 20:57 ` Linas Vepstas
2013-02-27 1:06 ` Rob Landley
2013-02-27 1:30 ` Linas Vepstas
2013-02-27 3:03 ` Rob Landley
2013-02-27 12:35 ` cotulla
-- strict thread matches above, loose matches on Subject: below --
2013-02-24 0:24 Linas Vepstas
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=1361926695.18483.1@driftwood \
--to=rob@landley.net \
--cc=cotulla@yandex.ua \
--cc=linux-hexagon@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.