From: Segher Boessenkool <segher@kernel.crashing.org>
To: Santosh Sivaraj <santosh@fossix.org>
Cc: linuxppc-dev <linuxppc-dev@lists.ozlabs.org>
Subject: Re: [PATCH] powerpc/vdso64: inline __get_datapage()
Date: Wed, 21 Aug 2019 06:44:23 -0500 [thread overview]
Message-ID: <20190821114423.GC31406@gate.crashing.org> (raw)
In-Reply-To: <20190821092959.16066-1-santosh@fossix.org>
Hi!
On Wed, Aug 21, 2019 at 02:59:59PM +0530, Santosh Sivaraj wrote:
> except for a couple of calls (1 or 2 nsec reduction), there are no
> improvements in the call times. Or is 10 nsec the minimum granularity??
>
> So I don't know if its even worth updating vdso64 except to keep vdso32 and
> vdso64 equal.
Calls are cheap, in principle... It is the LR stuff that can make it
slower on some cores, and a lot of calling sequence stuff may have
considerable overhead of course.
> +.macro get_datapage ptr, tmp
> + bcl 20,31,888f
> +888:
> + mflr \ptr
> + addi \ptr, \ptr, __kernel_datapage_offset - 888b
> + lwz \tmp, 0(\ptr)
> + add \ptr, \tmp, \ptr
> +.endm
(You can just write that as
bcl 20,31,$+4
mflr \ptr
etc. Useless labels are useless :-) )
One thing you might want to do to improve performance is to do this without
the bcl etc., because you cannot really hide the LR latency of that. But
that isn't very many ns either... Superscalar helps, OoO helps, but it is
mostly just that >100MHz helps ;-)
Segher
next prev parent reply other threads:[~2019-08-21 11:46 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-16 14:48 [PATCH] powerpc/vdso32: inline __get_datapage() Christophe Leroy
2019-08-21 4:37 ` Benjamin Herrenschmidt
2019-08-21 9:29 ` [PATCH] powerpc/vdso64: " Santosh Sivaraj
2019-08-21 9:46 ` Christophe Leroy
2019-08-21 11:20 ` Santosh Sivaraj
2019-08-21 15:58 ` Nathan Lynch
2019-08-21 11:44 ` Segher Boessenkool [this message]
2019-08-21 11:50 ` Christophe Leroy
2019-08-21 12:15 ` Segher Boessenkool
2019-08-21 16:23 ` Christophe Leroy
2019-08-22 16:18 ` Santosh Sivaraj
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=20190821114423.GC31406@gate.crashing.org \
--to=segher@kernel.crashing.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=santosh@fossix.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;
as well as URLs for NNTP newsgroup(s).