[PATCH] powerpc/pseries: Kill all prefetch streams on context switch
Michael Ellerman
michael at ellerman.id.au
Sun Jun 2 01:13:28 EST 2013
On Thu, May 30, 2013 at 03:34:27PM +1000, Michael Neuling wrote:
> On context switch, we should have no prefetch streams leak from one
> userspace process to another. This frees up prefetch resources for the
> next process.
>
> Based on patch from Milton Miller.
>
> Signed-off-by: Michael Neuling <mikey at neuling.org>
>
> diff --git a/arch/powerpc/include/asm/ppc_asm.h b/arch/powerpc/include/asm/ppc_asm.h
> index cea8496..2f1b6c5 100644
> --- a/arch/powerpc/include/asm/ppc_asm.h
> +++ b/arch/powerpc/include/asm/ppc_asm.h
> @@ -523,6 +523,17 @@ END_FTR_SECTION_NESTED(CPU_FTR_HAS_PPR,CPU_FTR_HAS_PPR,946)
> #define PPC440EP_ERR42
> #endif
>
> +/* The following stops all load and store data streams associated with stream
> + * ID (ie. streams created explicitly). The embedded and server mnemonics for
> + * dcbt are different so we use machine "power4" here explicitly.
> + */
> +#define DCBT_STOP_ALL_STREAM_IDS(scratch) \
> +.machine push ; \
> +.machine "power4" ; \
> + lis scratch,0x60000000 at h; \
> + dcbt r0,scratch,0b01010; \
> +.machine pop
I don't see why we need the macro, ie. just stick this code in
entry_64.S directly.
cheers
More information about the Linuxppc-dev
mailing list