[U-Boot] [PATCH] armv8: fsl-layerscape: Add support of disabling core prefetch

Prabhakar Kushwaha prabhakar.kushwaha at nxp.com
Fri Nov 10 02:55:08 UTC 2017


> -----Original Message-----
> From: York Sun
> Sent: Thursday, November 09, 2017 11:22 PM
> To: Prabhakar Kushwaha <prabhakar.kushwaha at nxp.com>; u-
> boot at lists.denx.de
> Subject: Re: [PATCH] armv8: fsl-layerscape: Add support of disabling core
> prefetch
> 
> On 11/08/2017 06:48 PM, Prabhakar Kushwaha wrote:
> > Instruction prefetch feature is by default enabled during core
> > release.
> >
> > This patch add support of disabling instruction prefetch by setting
> > core mask in PPA. Here each core mask bit represents a core and
> > prefetch is disabled at the time of core release.
> >
> > Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha at nxp.com>
> > ---
> >  arch/arm/cpu/armv8/fsl-layerscape/cpu.c            | 38
> ++++++++++++++++++++++
> >  .../armv8/fsl-layerscape/doc/README.core_prefetch  | 18 ++++++++++
> >  2 files changed, 56 insertions(+)
> >  create mode 100644 arch/arm/cpu/armv8/fsl-
> layerscape/doc/README.core_prefetch
> 
> <snip>
> 
> > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/doc/README.core_prefetch
> b/arch/arm/cpu/armv8/fsl-layerscape/doc/README.core_prefetch
> > new file mode 100644
> > index 0000000..f605a4c
> > --- /dev/null
> > +++ b/arch/arm/cpu/armv8/fsl-layerscape/doc/README.core_prefetch
> > @@ -0,0 +1,18 @@
> > +Core instruction prefetch disable
> > +---------------------------------
> > +To disable instruction prefetch of core; hwconfig needs to be updated.
> > +for e.g.
> > +setenv hwconfig 'fsl_ddr:bank_intlv=auto;core_prefetch:disable=0x02'
> > +
> 
> Why would one want to disable prefetch? 

There are scenario where data flow happening from device memory. 
So one want to avoid prefetching of instruction as prefetch information may be wrong.  
Prefetching instruction and then throwing causes performance drop. 

Hemant can you please help with more details here. 

> And environmental variables are not available for some SPL boot (eg. SD) last time I check.
This feature is only required for non-boot core. Hence prefetch will never be disabled for core0.

--prabhakar




More information about the U-Boot mailing list