From: arnd@linaro.org (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arch/arm64 :Cyclic Test fix in ARM64 fpsimd
Date: Fri, 22 May 2015 11:46:56 +0200 [thread overview]
Message-ID: <2318126.unulghvt2b@wuerfel> (raw)
In-Reply-To: <CAKv+Gu-bMy29BhQJb=bap_KDWTUTKOW4JVjvFOEtHuubJWhMDQ@mail.gmail.com>
On Thursday 21 May 2015 18:01:27 Ard Biesheuvel wrote:
>
> You could but I wouldn't recommend it since it may also prevent you
> from being able to set the boot path, but more importantly, reset and
> poweroff may also be available only via UEFI Runtime Services on UEFI
> systems.
Right, makes sense. Another option then could be to disable fpsimd
support with preempt-rt on real systems, and document this as a known
source of latency.
> So could someone comment on whether virt_efi_set_time() is present in
> all the problematic traces? Or was it only chosen because it
> illustrates the underlying problem the best? In the former case, there
> is an hidden bug that I would like to know about: however, if some
> time related facility that is used in a performance (or latency)
> sensitive context ultimately ends up programming the wall clock time
> in the RTC, then I would expect the same issue to occur on non-UEFI
> systems as well.
But without UEFI, updating the RTC would cause much less latency,
because you don't need to save/restore the fpsimd context, disable
preemption, or call into a potentially unknown external binary
blob, the only latency you'd get there is that of a readl/writel
accessing the RTC register.
> One thing I should point out is that this FP/SIMD save/restore is
> implemented differently depending on whether it is called from process
> context or from hardirq/softirq context. In the former case,
> kernel_neon_begin() preserves the userland FP/SIMD context only once,
> and only restores it right before returning to userland. This way,
> only the first kernel_neon_begin() and the last kernel_neon_end() call
> actually induce this latency, and so the average latency could be
> quite a bit lower than the worst case (although I understand that few
> people may care about the average in an RT context)
Just for my own interest: in what case do we save/restore the fpsimd
state from interrupt context?
Arnd
next prev parent reply other threads:[~2015-05-22 9:46 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAPyr0yJSGqvxkUWLtNKe0q5mNanBczAfAVx0tPKuzYeDG+eJ=Q@mail.gmail.com>
2015-05-06 19:38 ` [PATCH] arch/arm64 :Cyclic Test fix in ARM64 fpsimd Anders Roxell
2015-05-07 11:09 ` Ayyappa Ch
2015-05-08 0:09 ` Anders Roxell
2015-05-11 5:32 ` Ayyappa Ch
2015-05-14 16:07 ` Sebastian Andrzej Siewior
2015-05-16 6:38 ` Ayyappa Ch
[not found] ` <CAF7YWnw08YK7ogAoLTYXusOvtGCxfDPJW0H+8LyWDzNi_CbR=w@mail.gmail.com>
2015-05-18 21:38 ` Sebastian Andrzej Siewior
2015-05-19 0:07 ` Thomas Gleixner
2015-05-21 13:50 ` Anders Roxell
2015-05-21 15:23 ` Ard Biesheuvel
2015-05-21 15:35 ` Arnd Bergmann
2015-05-21 16:01 ` Ard Biesheuvel
2015-05-22 9:46 ` Arnd Bergmann [this message]
2015-05-22 10:04 ` Ard Biesheuvel
2015-05-22 10:31 ` Arnd Bergmann
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=2318126.unulghvt2b@wuerfel \
--to=arnd@linaro.org \
--cc=linux-arm-kernel@lists.infradead.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