Re: [PATCH v9 1/8] eal: generic 64 bit counter

2024-05-26 Thread Mattias Rönnblom
On 2024-05-22 21:51, Stephen Hemminger wrote: On Wed, 22 May 2024 12:01:12 -0700 Tyler Retzlaff wrote: On Wed, May 22, 2024 at 07:57:01PM +0200, Morten Brørup wrote: From: Stephen Hemminger [mailto:step...@networkplumber.org] Sent: Wednesday, 22 May 2024 17.38 On Wed, 22 May 2024 10:31:39 +0

Re: [PATCH v9 1/8] eal: generic 64 bit counter

2024-05-26 Thread Mattias Rönnblom
On 2024-05-22 21:01, Tyler Retzlaff wrote: On Wed, May 22, 2024 at 07:57:01PM +0200, Morten Brørup wrote: From: Stephen Hemminger [mailto:step...@networkplumber.org] Sent: Wednesday, 22 May 2024 17.38 On Wed, 22 May 2024 10:31:39 +0200 Morten Brørup wrote: +/* On 32 bit platform, need to use

RE: [PATCH v9 1/8] eal: generic 64 bit counter

2024-05-22 Thread Morten Brørup
> From: Stephen Hemminger [mailto:step...@networkplumber.org] > Sent: Wednesday, 22 May 2024 21.54 > > On Wed, 22 May 2024 20:09:23 +0200 > Morten Brørup wrote: > > > > There are no size_bins in the current version of the patch. > > > And the number of counters in ethdev part are small so it is

Re: [PATCH v9 1/8] eal: generic 64 bit counter

2024-05-22 Thread Stephen Hemminger
On Wed, 22 May 2024 20:09:23 +0200 Morten Brørup wrote: > > There are no size_bins in the current version of the patch. > > And the number of counters in ethdev part are small so it is less of a > > concern. > > The code is easier to maintain if the counter object is self contained. > > I agre

Re: [PATCH v9 1/8] eal: generic 64 bit counter

2024-05-22 Thread Stephen Hemminger
On Wed, 22 May 2024 12:01:12 -0700 Tyler Retzlaff wrote: > On Wed, May 22, 2024 at 07:57:01PM +0200, Morten Brørup wrote: > > > From: Stephen Hemminger [mailto:step...@networkplumber.org] > > > Sent: Wednesday, 22 May 2024 17.38 > > > > > > On Wed, 22 May 2024 10:31:39 +0200 > > > Morten Brørup

Re: [PATCH v9 1/8] eal: generic 64 bit counter

2024-05-22 Thread Tyler Retzlaff
On Wed, May 22, 2024 at 07:57:01PM +0200, Morten Brørup wrote: > > From: Stephen Hemminger [mailto:step...@networkplumber.org] > > Sent: Wednesday, 22 May 2024 17.38 > > > > On Wed, 22 May 2024 10:31:39 +0200 > > Morten Brørup wrote: > > > > > > +/* On 32 bit platform, need to use atomic to avoi

RE: [PATCH v9 1/8] eal: generic 64 bit counter

2024-05-22 Thread Morten Brørup
> From: Stephen Hemminger [mailto:step...@networkplumber.org] > Sent: Wednesday, 22 May 2024 17.33 > > On Wed, 22 May 2024 10:31:39 +0200 > Morten Brørup wrote: > > > > +/** > > > + * @warning > > > + * @b EXPERIMENTAL: this API may change without prior notice. > > > + * > > > + * On native 64 b

RE: [PATCH v9 1/8] eal: generic 64 bit counter

2024-05-22 Thread Morten Brørup
> From: Stephen Hemminger [mailto:step...@networkplumber.org] > Sent: Wednesday, 22 May 2024 17.38 > > On Wed, 22 May 2024 10:31:39 +0200 > Morten Brørup wrote: > > > > +/* On 32 bit platform, need to use atomic to avoid load/store > tearing */ > > > +typedef RTE_ATOMIC(uint64_t) rte_counter64_t

Re: [PATCH v9 1/8] eal: generic 64 bit counter

2024-05-22 Thread Stephen Hemminger
On Wed, 22 May 2024 10:31:39 +0200 Morten Brørup wrote: > > +/* On 32 bit platform, need to use atomic to avoid load/store tearing */ > > +typedef RTE_ATOMIC(uint64_t) rte_counter64_t; > > As shown by Godbolt experiments discussed in a previous thread [2], > non-tearing 64 bit counters can be

Re: [PATCH v9 1/8] eal: generic 64 bit counter

2024-05-22 Thread Stephen Hemminger
On Wed, 22 May 2024 10:31:39 +0200 Morten Brørup wrote: > > +/** > > + * @warning > > + * @b EXPERIMENTAL: this API may change without prior notice. > > + * > > + * On native 64 bit platform, counter is implemented as basic > > + * 64 bit unsigned integer that only increases. > > + */ > > +typede

RE: [PATCH v9 1/8] eal: generic 64 bit counter

2024-05-22 Thread Morten Brørup
> From: Stephen Hemminger [mailto:step...@networkplumber.org] > Sent: Tuesday, 21 May 2024 22.17 > > This header implements 64 bit counters using atomic > operations but with a weak memory ordering so that > they are safe against load/store splits on 32 bit platforms. > > Signed-off-by: Stephen H

[PATCH v9 1/8] eal: generic 64 bit counter

2024-05-21 Thread Stephen Hemminger
This header implements 64 bit counters using atomic operations but with a weak memory ordering so that they are safe against load/store splits on 32 bit platforms. Signed-off-by: Stephen Hemminger Acked-by: Morten Brørup --- lib/eal/include/meson.build | 1 + lib/eal/include/rte_counter.h |