All of lore.kernel.org
 help / color / mirror / Atom feed
From: "André Hentschel" <nerv@dawncrow.de>
To: Jonathan Austin <jonathan.austin@arm.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Will Deacon <Will.Deacon@arm.com>
Subject: Re: arm: Only load TLS values when needed
Date: Wed, 14 Aug 2013 16:07:51 +0200	[thread overview]
Message-ID: <520B8F37.4040609@dawncrow.de> (raw)
In-Reply-To: <51E6F532.1030004@dawncrow.de>

Hi Jonathan,
Any updates on this?

Am 17.07.2013 21:49, schrieb André Hentschel:
> Am 17.07.2013 13:10, schrieb Jonathan Austin:
>> Hi André,

>> Do you have access to anything v6-NOT-k-ish? If not I can try and test this on something appropriate. How does your test-case access tpidrurw? If it uses inline asm then it won't work on v6-not-k, as those instructions aren't defined...
> 
> I don't, so it'd be nice if you could do that. I could imagine you have a good choice of devices at ARM :)
> 
> In my crappy test application i do it similar to Wine:
> https://github.com/AndreRH/tpidrurw-test/blob/master/main.c#L29
> 
> but Wine code won't work out of the box on v6:
> http://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ntdll/signal_arm.c#l851
> 

>>> I'm not sure how this could make things worse on v6k, could you
>>> elaborate please? Besides of the ldr and str being too close to each
>>> other
>>
>> Yea, that's the only issue, and in the !CONFIG_CPU_USE_DOMAINS case things are slightly worse than they were before
>>
>>> i thought this patch is a good idea, because it removes two ldr
>>> which are always executed. (Continuing below...)
>>
>> Indeed, as long as it doesn't cause pipeline stalls then that's a gain for some cases :)
>>
>> [...]
>>>> Now we've only got one instruction between the store and the load
>>>> and risk stalling the pipeline...
>>>>
>>>> Dave M cautiously says "The ancient advice was that one instruction
>>>> was enough" but this is very core dependent... I wonder if anyone
>>>> has a good idea about whether this is an issue here...?
>>>
>>> We could use a ldrd at the top, that'd be nearly what we have right
>>> now, don't we?
>>
>> Yea, that'd be good - as far as I can see from an 1136 TRM, the ldrd *may* be two cycles (depending on alignment of the words) but the ldr and ldrne will always be two cycles. Ahhh, the joys of modifying the fast path ;)


  reply	other threads:[~2013-08-14 14:08 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-15 17:14 arm: Only load TLS values when needed André Hentschel
2013-07-15 17:14 ` André Hentschel
2013-07-16 17:31 ` Jonathan Austin
2013-07-16 17:31   ` Jonathan Austin
2013-07-16 19:27   ` André Hentschel
2013-07-16 19:27     ` André Hentschel
2013-07-17 11:10     ` Jonathan Austin
2013-07-17 11:10       ` Jonathan Austin
2013-07-17 19:49       ` André Hentschel
2013-07-17 19:49         ` André Hentschel
2013-08-14 14:07         ` André Hentschel [this message]
2013-08-14 16:20           ` Jonathan Austin
2013-08-14 21:21             ` André Hentschel
2013-08-15 17:29               ` Jonathan Austin
2013-08-15 17:29                 ` Jonathan Austin
2013-08-15 18:27                 ` André Hentschel
2013-08-15 18:27                   ` André Hentschel
2013-08-15 18:27                   ` André Hentschel
2013-08-26 19:19                   ` André Hentschel
2013-08-26 19:19                     ` André Hentschel

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=520B8F37.4040609@dawncrow.de \
    --to=nerv@dawncrow.de \
    --cc=Will.Deacon@arm.com \
    --cc=jonathan.austin@arm.com \
    --cc=linux-kernel@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.