<snip> > 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. + Joyce, to test this for VirtIO on Arm
> > > > > 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. > >