On Fri, 17 May 2024 02:39:02 +0000
Honnappa Nagarahalli <honnappa.nagaraha...@arm.com> wrote:

> > On May 16, 2024, at 4:42 PM, Stephen Hemminger <step...@networkplumber.org> 
> > wrote:
> > 
> > On Thu, 16 May 2024 18:22:23 +0000
> > Wathsala Wathawana Vithanage <wathsala.vithan...@arm.com> wrote:
> >   
> >> Hi Stephen,
> >>   
> >>> +__rte_experimental
> >>> +static inline uint64_t
> >>> +rte_counter64_fetch(const rte_counter64_t *counter) {
> >>> + return *counter;
> >>> +}    
> >> 
> >> What if the address pointed by counter is not aligned and the
> >> architecture doesn't support atomic (untorn) loads on non-aligned loads? 
> >> 
> >> --wathsala  
> > 
> > Then the driver is using it incorrectly. For the use case of a set of 
> > counters
> > (even if embedded in another struct), the compiler takes care of this.
> > 
> > Remember this is an internal API, not something that needs to handle user
> > abuse.  
> If it is internal API, should the API name have double underscore prefix to 
> indicate the same?
> 

Other parts of ethdev have internal API's with similar names already.
None of them use underscore.

INTERNAL {
        global:

        rte_eth_dev_allocate;
        rte_eth_dev_allocated;
        rte_eth_dev_attach_secondary;
        rte_eth_dev_callback_process;
        rte_eth_dev_create;
        rte_eth_dev_destroy;
        rte_eth_dev_get_by_name;
        rte_eth_dev_is_rx_hairpin_queue;
        rte_eth_dev_is_tx_hairpin_queue;
        rte_eth_dev_probing_finish;
        rte_eth_dev_release_port;
        rte_eth_dev_internal_reset;
        rte_eth_devargs_parse;
        rte_eth_devices;
        rte_eth_dma_zone_free;
        rte_eth_dma_zone_reserve;
        rte_eth_hairpin_queue_peer_bind;
        rte_eth_hairpin_queue_peer_unbind;
        rte_eth_hairpin_queue_peer_update;
        rte_eth_ip_reassembly_dynfield_register;
        rte_eth_link_speed_ethtool; # WINDOWS_NO_EXPORT
        rte_eth_link_speed_glink; # WINDOWS_NO_EXPORT
        rte_eth_link_speed_gset; # WINDOWS_NO_EXPORT
        rte_eth_pkt_burst_dummy;
        rte_eth_representor_id_get;
        rte_eth_switch_domain_alloc;
        rte_eth_switch_domain_free;
        rte_flow_fp_default_ops;
};

Reply via email to