From: Stefani Seibold <stefani@seibold.net>
To: Andy Lutomirski <luto@amacapital.net>
Cc: "H. Peter Anvin" <hpa@zytor.com>, X86 ML <x86@kernel.org>,
Greg KH <gregkh@linuxfoundation.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Andi Kleen <ak@linux.intel.com>,
Andrea Arcangeli <aarcange@redhat.com>,
John Stultz <john.stultz@linaro.org>,
Pavel Emelyanov <xemul@parallels.com>,
Cyrill Gorcunov <gorcunov@openvz.org>,
andriy.shevchenko@linux.intel.com,
Martin.Runge@rohde-schwarz.com, Andreas.Brief@rohde-schwarz.com
Subject: Re: [PATCH v2 1/4] x86: Use the default ABI for the 32-bit vDSO
Date: Sat, 01 Mar 2014 14:43:13 +0100 [thread overview]
Message-ID: <1393681393.982.10.camel@wall-e.seibold.net> (raw)
In-Reply-To: <CALCETrXOrJPidKSAshwE94wumnWqZdwDQ0+fWAY8UZxLf+PCdw@mail.gmail.com>
Am Freitag, den 28.02.2014, 12:19 -0800 schrieb Andy Lutomirski:
> On Fri, Feb 28, 2014 at 7:06 AM, H. Peter Anvin <hpa@zytor.com> wrote:
> > How many internal function calls are there? It seems we should try to avoid those as much as possible by suitable inlining.
>
> There are no non-static calls at all, except for __x86.get_pc_thunk.
> I imagine that gcc is smart enough to improve the calling convention
> to non-externally-visible functions.
>
> Amazingly (to me, anyway), the performance of the 32-bit version seems
> to be within 1 ns or so of the 64-bit version on SNB. I suspect that
> Intel has optimized the crap out of these things.
>
I did some benchmarks on my Core2 Q9300 / 2.53GHz and against
"-mregparm=3 -freg-struct-return" and "-mregparm=0".
The system was boot with idle=poll, the scaling_governor was set to
performance, sched_rt_runtime_us was set to 1000000 and and the
benchmark was executed under realtime priority 99.
For gettimeday() and time() there is no difference, gettimeofday() has
an average runtime of 49 ns and time() needs 11 ns. In the default ABI
is a little bit faster measured in sub-nanoseconds.
For the clock_gettime(CLOCK_MONOTONIC) the results are 47 ns as best
cast for the non default ABI and 46 for the default ABI. In the average
it was more than 1 ns faster.
So the default ABI is faster, in any cases.
One interesting thing is that the HPET code is significant faster when
using kernel parameter idle=poll, it is 953 vs 46 ns, this a factor of
more than 20.
- Stefani
next prev parent reply other threads:[~2014-03-01 13:43 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-26 19:34 Final: Add 32 bit VDSO time function support Stefani Seibold
2014-02-26 20:10 ` Andy Lutomirski
2014-02-26 20:45 ` Greg KH
2014-02-26 20:54 ` Andy Lutomirski
2014-02-27 0:55 ` Andy Lutomirski
2014-02-27 1:02 ` [PATCH 0/2] Improvements/fixes to 32-bit vdso timing Andy Lutomirski
2014-02-27 1:02 ` [PATCH 1/2] x86: Mark __vdso entries as asmlinkage Andy Lutomirski
2014-02-27 3:25 ` H. Peter Anvin
2014-02-27 3:39 ` Andi Kleen
2014-02-27 5:06 ` H. Peter Anvin
2014-02-27 5:19 ` Andy Lutomirski
2014-02-27 5:22 ` H. Peter Anvin
2014-02-27 20:11 ` Andy Lutomirski
2014-02-27 23:12 ` H. Peter Anvin
2014-02-27 5:07 ` H. Peter Anvin
2014-02-27 1:02 ` [PATCH 2/2] x86: Inline the CLOCK_MONOTONIC vdso code Andy Lutomirski
2014-02-28 0:18 ` [PATCH v2 0/4] vDSO fixes, on top of tip/x86/vdso Andy Lutomirski
2014-02-28 0:18 ` [PATCH v2 1/4] x86: Use the default ABI for the 32-bit vDSO Andy Lutomirski
2014-02-28 7:28 ` Stefani Seibold
2014-02-28 15:06 ` H. Peter Anvin
2014-02-28 20:19 ` Andy Lutomirski
2014-03-01 13:43 ` Stefani Seibold [this message]
2014-02-28 0:18 ` [PATCH v2 2/4] x86: Inline the CLOCK_MONOTONIC vdso code Andy Lutomirski
2014-02-28 0:18 ` [PATCH v2 3/4] x86: Patch alternatives in the 32-bit vDSO Andy Lutomirski
2014-02-28 7:22 ` Stefani Seibold
2014-03-01 14:04 ` Stefani Seibold
2014-02-28 0:18 ` [PATCH v2 4/4] x86: Zero-pad the VVAR page Andy Lutomirski
2014-02-28 7:33 ` [PATCH v2 0/4] vDSO fixes, on top of tip/x86/vdso Stefani Seibold
2014-02-28 20:15 ` Andy Lutomirski
2014-03-01 14:02 ` Stefani Seibold
2014-02-28 7:22 ` Final: Add 32 bit VDSO time function support Stefani Seibold
2014-03-01 2:00 ` Andy Lutomirski
2014-03-01 22:56 ` H. Peter Anvin
2014-03-02 8:01 ` Stefani Seibold
2014-02-27 5:07 ` H. Peter Anvin
2014-02-27 12:14 ` Ingo Molnar
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=1393681393.982.10.camel@wall-e.seibold.net \
--to=stefani@seibold.net \
--cc=Andreas.Brief@rohde-schwarz.com \
--cc=Martin.Runge@rohde-schwarz.com \
--cc=aarcange@redhat.com \
--cc=ak@linux.intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=gorcunov@openvz.org \
--cc=gregkh@linuxfoundation.org \
--cc=hpa@zytor.com \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=xemul@parallels.com \
/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.