> -----Original Message----- > From: Bruce Richardson <bruce.richard...@intel.com> > Sent: Wednesday, October 14, 2020 12:20 AM > To: Ruifeng Wang <ruifeng.w...@arm.com> > Cc: Omkar Maslekar <omkar.masle...@intel.com>; dev@dpdk.org; > ciara.lof...@intel.com; d...@linux.vnet.ibm.com; jer...@marvell.com; > Honnappa Nagarahalli <honnappa.nagaraha...@arm.com>; nd <n...@arm.com> > Subject: Re: [PATCH v6] eal: add cache-line demote support > > On Tue, Oct 13, 2020 at 02:59:24AM +0000, Ruifeng Wang wrote: > > > > > -----Original Message----- > > > From: Omkar Maslekar <omkar.masle...@intel.com> > > > Sent: Monday, October 12, 2020 6:20 PM > > > To: dev@dpdk.org > > > Cc: bruce.richard...@intel.com; ciara.lof...@intel.com; > > > omkar.masle...@intel.com; d...@linux.vnet.ibm.com; > > > jer...@marvell.com; Ruifeng Wang <ruifeng.w...@arm.com>; > Honnappa > > > Nagarahalli <honnappa.nagaraha...@arm.com> > > > Subject: [PATCH v6] eal: add cache-line demote support > > > > > > rte_cldemote is similar to a prefetch hint - in reverse. > > > cldemote(addr) enables software to hint to hardware that line is likely to > be shared. > > > Useful in core-to-core communications where cache-line is likely to > > > be shared. ARM and PPC implementation is provided with NOP and can > > > be added if any equivalent instructions could be used for > > > implementation on those architectures. > > > > > > Signed-off-by: Omkar Maslekar <omkar.masle...@intel.com> > > > Acked-by: Bruce Richardson <bruce.richard...@intel.com> > > > > > > --- > > > v6: marked rte_cldemote as experimental > > > added rte_cldemote call in existing app/test_prefetch.c > > > > > > v5: documentation updated > > > fixed formatting issue in release notes > > > added Acked-by: Bruce Richardson <bruce.richard...@intel.com> > > > * > > > v4: updated bold text for title and fixed margin in release notes > > > * > > > v3: fixed warning regarding whitespace > > > * > > > v2: documentation updated > > > --- > > > --- > <snip> > > > > > +/** > > > + * Demote a cache line to a more distant level of cache from the > processor. > > > + * > > > + * CLDEMOTE hints to hardware to move (demote) a cache line from > > > +the closest to > > > + * the processor to a level more distant from the processor. It is > > > +a hint and > > > + * not guarantee. rte_cldemote is intended to move the cache line > > > +to the more > > > + * remote cache, where it expects sharing to be efficient and to > > > +indicate that a > > > + * line may be accessed by a different core in the future. > > > + * > > > + * @param p > > > + * Address to demote > > > + */ > > > +static inline void > > > +__rte_experimental > > > > 1. Experimental tag is only needed in this file. Tags at other places can be > removed. > > I'm not sure that is the case. The generic file is used when preparing the > docs, > so the experimental tag needs to go there for the docs, but when actually > using the function in compiled code the "generic" version is unused. > Therefore we need the experimental tag there to trigger a build warning > about using the function if the appropriate ALLOW_EXPERIMENTAL_APIS flag > is not set. > +David in cc.
I learnt this from David's comment in thread: http://patches.dpdk.org/patch/61573/ "We only need it in the function prototype" Hi David, Can you comment if my understanding of experimental tag usage is correct? /Ruifeng > /Bruce