How to make use of SPE instructions?
Scott Wood
scottwood at freescale.com
Fri Jan 16 09:56:10 AEDT 2015
On Thu, 2015-01-08 at 09:58 +0000, Markus Stockhausen wrote:
> Hello,
>
> I developed a SHA224/256 kernel crypto module with SPE instructions.
> The result looks quite promising (~ +50% speedup). Nevertheless the
> flooding of kernel messages "SPE used in kernel" makes me feel
> uncomfortable.
>
> My findings so far:
>
> - I can configure the kernel with "SPE support".
> - arch/powerpc/kernel/head_fsl_booke.S suggests that the message is
> triggerd unconditionally whenwever we make use of SPE in kernel.
> - There exists a function enable_kernel_spe() but I don't know how
> this could help me in my work.
>
> I guess I need some kind of "brackets" around my coding to make sure
> the upper 32 bit of the registers are stored correctly during task switch.
> Or is the use of SPE instructions inside the kernel totally forbidden? Any
> expert with some helpful advise?
You need to disable preemption, call enable_kernel_spe(), and finish
using SPE before you enable preemption. This assumes that SPE is never
used from interrupt context. Be careful to not disable preemption for
too long.
-Scott
More information about the Linuxppc-dev
mailing list