On 2022-06-01 18:15, Stephen Hemminger wrote:
> On Wed, 1 Jun 2022 08:19:54 +0000
> Mattias Rönnblom <mattias.ronnb...@ericsson.com> wrote:
> 
>> On 2022-06-01 00:45, Stephen Hemminger wrote:
>>> On Mon, 23 May 2022 16:23:46 +0200
>>> Mattias Rönnblom <mattias.ronnb...@ericsson.com> wrote:
>>>    
>>>> +/**
>>>> + * The RTE seqcount type.
>>>> + */
>>>> +typedef struct {
>>>> +  uint32_t sn; /**< A sequence number for the protected data. */
>>>> +} rte_seqcount_t;
>>>
>>> Don't need structure for only one element.
>>>    
>>
>> The struct adds a degree of type safety, with no run-time cost.
> 
> Makes sense.
> 
>>
>>> typedef uint32_t rte_seqcount_t;
>>>
>>> +   if (unlikely(begin_sn != end_sn))
>>> +           return true;
>>> +
>>> +   return false;
>>>
>>> Prefer to avoid conditional if possible (compiler will optimize it as):
>>>
>>>           return begin_sn == end_sn;
>>
>> Is this a readability argument, or a performance one?
>>
>> The compiler might use the unlikely hint to do something useful, like
>> avoiding a branch in the common case.
> 
> It is a matter of taste. I always prefer writing the smallest (within reason)
> amount of code as possible. And my preference is to do things with declarative
> and data statements rather than conditionals.
I agree. A one-liner would have been a better choice. (A correct one, 
with the hint.)

Reply via email to