From: Ard Biesheuvel <ardb@kernel.org>
To: David Laight <David.Laight@aculab.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Jackie Liu <liuyun01@kylinos.cn>,
Douglas Anderson <dianders@chromium.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Will Deacon <will@kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] arm64: crypto: Add an option to assume NEON XOR is the fastest
Date: Tue, 22 Sep 2020 12:30:42 +0200 [thread overview]
Message-ID: <CAMj1kXEF9SHnas_Hy=eU+=hHuuyxMb2_UtPtsuU2CCH6BaUPbg@mail.gmail.com> (raw)
In-Reply-To: <ad9108e155ba4245a2005e9212a7d2b5@AcuMS.aculab.com>
On Tue, 22 Sep 2020 at 10:26, David Laight <David.Laight@aculab.com> wrote:
>
> From: Douglas Anderson
> > Sent: 22 September 2020 01:26
> >
> > On every boot time we see messages like this:
> >
> > [ 0.025360] calling calibrate_xor_blocks+0x0/0x134 @ 1
> > [ 0.025363] xor: measuring software checksum speed
> > [ 0.035351] 8regs : 3952.000 MB/sec
> > [ 0.045384] 32regs : 4860.000 MB/sec
> > [ 0.055418] arm64_neon: 5900.000 MB/sec
> > [ 0.055423] xor: using function: arm64_neon (5900.000 MB/sec)
> > [ 0.055433] initcall calibrate_xor_blocks+0x0/0x134 returned 0 after 29296 usecs
> >
> > As you can see, we spend 30 ms on every boot re-confirming that, yet
> > again, the arm64_neon implementation is the fastest way to do XOR.
> > ...and the above is on a system with HZ=1000. Due to the way the
> > testing happens, if we have HZ defined to something slower it'll take
> > much longer. HZ=100 means we spend 300 ms on every boot re-confirming
> > a fact that will be the same for every bootup.
>
> Can't the code use a TSC (or similar high-res counter) to
> see how long it takes to process a short 'hot cache' block?
> That wouldn't take long at all.
>
This is generic code that runs from an core_initcall() so I am not
sure we can easily implement this in a portable way.
Doug: would it help if we deferred this until late_initcall()? We
could take an arbitrary pick from the list at core_initcall() time to
serve early users, and update to the fastest one at a later time.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-09-22 10:32 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-22 0:26 [PATCH] arm64: crypto: Add an option to assume NEON XOR is the fastest Douglas Anderson
2020-09-22 6:25 ` Ard Biesheuvel
2020-09-23 0:39 ` Doug Anderson
2020-09-22 8:25 ` David Laight
2020-09-22 10:30 ` Ard Biesheuvel [this message]
2020-09-23 0:39 ` Doug Anderson
2020-09-23 10:14 ` Ard Biesheuvel
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='CAMj1kXEF9SHnas_Hy=eU+=hHuuyxMb2_UtPtsuU2CCH6BaUPbg@mail.gmail.com' \
--to=ardb@kernel.org \
--cc=David.Laight@aculab.com \
--cc=ard.biesheuvel@linaro.org \
--cc=catalin.marinas@arm.com \
--cc=dianders@chromium.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=liuyun01@kylinos.cn \
--cc=will@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 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).