[dpdk-dev] [PATCH v2] config: enable packet data prefetch

Liu, Yong yong.liu at intel.com
Thu Oct 15 03:21:22 CEST 2020



> -----Original Message-----
> From: Thomas Monjalon <thomas at monjalon.net>
> Sent: Thursday, October 15, 2020 6:03 AM
> To: Liu, Yong <yong.liu at intel.com>
> Cc: Richardson, Bruce <bruce.richardson at intel.com>;
> stephen at networkplumber.org; dev at dpdk.org;
> david.marchand at redhat.com; Yigit, Ferruh <ferruh.yigit at intel.com>;
> maxime.coquelin at redhat.com; honnappa.nagarahalli at arm.com; David
> Christensen <drc at linux.vnet.ibm.com>; ruifeng.wang at arm.com
> Subject: Re: [dpdk-dev] [PATCH v2] config: enable packet data prefetch
> 
> 23/09/2020 03:51, Marvin Liu:
> > Data prefetch instruction can preload data into cpu’s hierarchical
> > cache before data access. Virtualized data paths like virtio utilized
> > this feature for acceleration. Since most modern cpus have support
> > prefetch function, we can enable packet data prefetch as default.
> >
> > Signed-off-by: Marvin Liu <yong.liu at intel.com>
> > ---
> > +#define RTE_PMD_PACKET_PREFETCH 1
> 
> We could also remove the related #ifdefs.
> 
> What can be the drawback of always enable those prefetches?
> 

Hi Thomas,
I think the potential drawback is that current prefetch location cannot guarantee the best performance across different platforms. 
Each developer has tuned the performance by adding prefetch instruction and verified the result on himself platform. 
So prefetch location is based on certain platform, also it will be hard for developer to compare the results across platforms. 

Thanks,
Marvin


More information about the dev mailing list