> On 10/26/2023 3:50 AM, Chaoyong He wrote:
> >>> On 10/24/2023 3:28 AM, Chaoyong He wrote:
> >>>> This patch series aims to add the NFP vDPA PMD, we also grab the
> >>>> common logic into the `drivers/common/nfp` directory.
> >>>>
> >>>> ---
> >>>> v2:
> >>>> * Grab more logic into the `drivers/common/nfp` directory.
> >>>> * Delete some logic which should be when moving logic.
> >>>> ---
> >>>>
> >>>> Chaoyong He (25):
> >>>>   drivers: introduce the NFP common library
> >>>>   net/nfp: make VF PMD using of NFP common module
> >>>>   net/nfp: rename common module name
> >>>>   net/nfp: rename ctrl module name
> >>>>   net/nfp: extract the cap data field
> >>>>   net/nfp: extract the qcp data field
> >>>>   net/nfp: extract the ctrl BAR data field
> >>>>   net/nfp: extract the ctrl data field
> >>>>   net/nfp: change the parameter of APIs
> >>>>   net/nfp: change the parameter of reconfig
> >>>>   net/nfp: extract the MAC address data field
> >>>>   net/nfp: rename parameter in related logic
> >>>>   drivers: add the common ctrl module
> >>>>   drivers: add the nfp common module
> >>>>   drivers: move queue logic to common module
> >>>>   drivers: move platform module to common library
> >>>>   drivers: move device module to common library
> >>>>   drivers/vdpa: introduce the NFP vDPA library
> >>>>   drivers: add the basic framework of vDPA PMD
> >>>>   vdpa/nfp: add the logic of remap PCI memory
> >>>>   vdpa/nfp: add the hardware init logic
> >>>>   drivers: add the datapath update logic
> >>>>   vdpa/nfp: add the notify related logic
> >>>>   vdpa/nfp: add nfp vDPA device operations
> >>>>   doc: add the common and vDPA document
> >>>>
> >>>
> >>> Overall pretty clean set, but there are a few minor issues,
> >>> commented on patches.
> >>>
> >>>
> >>> Also can you please address checkpatch warnings:
> >>>
> >>>   ### [PATCH] drivers: add the datapath update logic
> >>>
> >>>     Warning in drivers/vdpa/nfp/nfp_vdpa.c:
> >>>     Using __atomic_xxx built-ins, prefer rte_atomic_xxx
> >>>
> >>
> >> Oh, Sorry, we choose '__atomic_xxx' because we see the document in
> >> https://doc.dpdk.org/guides/prog_guide/writing_efficient_code.html?hi
> >> ghlig
> >> ht=atomic%20operations%20use%20c11%20atomic%20builtins#atomic-
> >> operations-use-c11-atomic-builtins.
> >> Maybe we misunderstood it, we will change to the `rte_atomic_xxx` in
> >> next version, thanks.
> >
> > As the notes in the 'doc/guides/rel_notes/deprecation.rst':
> > ---
> >   rte_atomicNN_xxx: These APIs do not take memory order parameter. This
> does
> >   not allow for writing optimized code for all the CPU architectures 
> > supported
> >   in DPDK. DPDK has adopted the atomic operations from
> >   https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html.
> These
> >   operations must be used for patches that need to be merged in 20.08
> onwards.
> >   This change will not introduce any performance degradation.
> > ---
> > The '__atomic_xxx' is the preferred choice? So maybe it's the
> 'checkpatches.sh' should update?
> > And seems there are many logics using the '__atomic_xxx'.
> >
> > Spend some time and confused about this now.
> > What is the right APIs I should use?
> > Please make it clear, thanks.
> >
> 
> Atomics usage got a few updates by time, if I remember correct:
> first there was DPDK rte_atomicNN_xxx APIs, later guidance updated to prefer
> compiler builtins, and recently guidance updated to use C11 defined
> functions.
> 
> And now there are 'rte_atomic_xxx()' APIs, underneath they use "compiler
> builtins" or "C11 functions" based on 'enable_stdatomic' config option and of
> course tool-chain support.
> 
> That is the reason of complexity in the checkpatch script.
> 
> @Tyler, @David, @Honnappa, what is the latest, up to date, guidance in the
> atomic APIs usage?
> 
> 
> 
> @Honnappa, is the deprecation notice Chaoyong highlighted still valid?
> Should we update it?
> 

Oh, sorry, I have found that we should use the <rte_stdatomic.h> header file, 
and I have sent out the v3 patch series, and it passed the check script.
Thanks.

Reply via email to