[dpdk-dev] [PATCH v3 08/24] rte_ring_generic.h: stack declarations before code

Andy Green andy at warmcat.com
Mon May 14 01:21:52 CEST 2018



On 05/14/2018 12:47 AM, Thomas Monjalon wrote:
> 12/05/2018 03:59, Andy Green:
>> /projects/lagopus/src/dpdk/build/include/rte_ring_generic.h:
>> In function '__rte_ring_move_prod_head':
>> /projects/lagopus/src/dpdk/build/include/rte_ring_generic.h:76:3:
>> warning: ISO C90 forbids mixed declarations and code
>> [-Wdeclaration-after-statement]
>>     const uint32_t cons_tail = r->cons.tail;
>>     ^~~~~
>> /projects/lagopus/src/dpdk/build/include/rte_ring_generic.h:
>> In function '__rte_ring_move_cons_head':
>> /projects/lagopus/src/dpdk/build/include/rte_ring_generic.h:147:3:
>> warning: ISO C90 forbids mixed declarations and code
>> [-Wdeclaration-after-statement]
>>     const uint32_t prod_tail = r->prod.tail;
> 
> The fix line is:
> Fixes: 0dfc98c507b1 ("ring: separate out head index manipulation")

OK... people can just use git blame at the time they want to know this 
though.

> But I wonder why it was done like this. Maybe there is a hidden reason.
> Bruce? Olivier?

It's not crazy to do it for clarity, or when you thought there'd be more 
uses of the calculation.  At any rate, I don't see any openings for it 
to affect the code changing it.

-Andy

>> Signed-off-by: Andy Green <andy at warmcat.com>
> [...]
>> --- a/lib/librte_ring/rte_ring_generic.h
>> +++ b/lib/librte_ring/rte_ring_generic.h
>> @@ -73,14 +73,13 @@ __rte_ring_move_prod_head(struct rte_ring *r, int is_sp,
>>   		 */
>>   		rte_smp_rmb();
>>   
>> -		const uint32_t cons_tail = r->cons.tail;
>>   		/*
>>   		 *  The subtraction is done between two unsigned 32bits value
>>   		 * (the result is always modulo 32 bits even if we have
>>   		 * *old_head > cons_tail). So 'free_entries' is always between 0
>>   		 * and capacity (which is < size).
>>   		 */
>> -		*free_entries = (capacity + cons_tail - *old_head);
>> +		*free_entries = (capacity + r->cons.tail - *old_head);
> 
> 
> 


More information about the dev mailing list