15/10/2020 10:23, Liu, Yong:
> From: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com>
> > > > 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....@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.
> > Then, does it make sense to enable this by default?
> > 
> 
> Now most of prefetch actions are placed after pointer of data is valid.  I 
> think this methodology can benefit all platforms.
> It's hard to say that it’s the best choice for all. But no more better 
> solution in my mind. 
> At least, we need to allow user to enable packet data prefetch.

In my opinion, it can be tested and measured.

> > > 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.

If it shows benefit on an architecture, then it should be enabled
with #ifdef RTE_ARCH_XX

I am for removing the option RTE_PMD_PACKET_PREFETCH.



Reply via email to