> -----Original Message----- > From: Yuanhan Liu [mailto:yuanhan....@linux.intel.com] > Sent: Monday, December 5, 2016 6:37 PM > To: Wang, Zhihong <zhihong.w...@intel.com> > Cc: dev@dpdk.org; Thomas Monjalon <thomas.monja...@6wind.com> > Subject: Re: [PATCH] vhost: optimize vhost memcpy > > On Mon, Dec 05, 2016 at 10:27:00AM +0000, Wang, Zhihong wrote: > > > I like this function a lot, since it's really simple and straightforward! > > > Moreover, it performs better. > > > > > > But, I don't quite like how this function is proposed: > > > > > > - rte_movX are more like internal help functions that should be used only > > > in corresponding rte_memcpy.h file. > > > > > > - It's a good optimization, however, it will not benefit for other use > > > cases, though vhost is the most typical case here. > > > > > > - The optimization proves to be good for X86, but think there is no > > > guarantee it may behave well for other platforms, say ARM. > > > > > > I still would suggest you to go this way: move this function into x86's > > > rte_memcpy.h and call it when the data is well aligned. > > > > > > Do you mean to add something like rte_memcpy_aligned() in > > lib/librte_eal/common/include/generic/rte_memcpy.h? > > Yes, but this one is not supposed to be exported as a public API. > It should be called inside rte_memcpy (when data is well aligned). > In this way, only rte_memcpy is exposed, and nothing else should > be changed.
Yes I agree this is a better way to introduce this patch, I'll send out v2. > > --yliu > > > > I thought of this way before, and didn't choose it because it requires > > changes in eal. But it would be a clean solution, I'd certainly like > > to implement it this way if people are okay with it. > > > > > > Thanks > > Zhihong > > > > > > > > > > --yliu