Re: [PATCH RT] arm64: fpsimd: use a local_lock() in addition to local_bh_disable()

From: Sebastian Andrzej Siewior
Date: Wed May 23 2018 - 09:40:59 EST


On 2018-05-18 13:46:36 [+0100], Dave Martin wrote:
> On Thu, May 17, 2018 at 07:19:43PM +0100, Dave Martin wrote:
>
> [...]
>
> > kernel_neon_begin() could then do
> >
> > local_fpsimd_context_lock();
> >
> > /* ... */
> >
> > preempt_disable();
> > local_unlock(fpsimd_context_lock);
> >
> > ... with the following in kernel_neon_end():
> >
> > local_unlock(fpsimd_lock);
> > preempt_enable();
> >
> >
> > If kernel-mode NEON was considered harmful to RT due to the context
> > switch overheads, then the above might be overkill. SVE will be worse
> > in that regard, and also needs thinking about at some point -- I've not
> > looked at if from the RT angle at all.
>
> Hmmm, !KERNEL_MODE_NEON breaks EFI, so this probably does want looking
> at. Ard's recent rework to enable voluntary preemption the crypto
> backends for arm64 [1] should reduce the fpsimd_lock blackouts, but it
> still depends on the backends playing nice.

oh. I've seen the series, I more or less asked for this and I am glad
for it. I will try to unbreak this EFI problem thenâ
I remember the good old days when the boot loader was gone after it
jumped to the kernelâ

> Cheers
> ---Dave

Sebastian