[dpdk-dev] [PATCH] KNI: fix compilation warning 'missing-field-initializers'
Thomas Monjalon
thomas.monjalon at 6wind.com
Wed Oct 22 12:00:46 CEST 2014
2014-10-22 11:49, Marc Sune:
> On 22/10/14 10:50, Thomas Monjalon wrote:
> > 2014-10-22 10:42, Marc Sune:
> >> The mutex needs to be initialized to RTE_SPINLOCK_INITIALIZER(0) too, or
> >> move the initialization of the mutex to rte_kni_init().
> > RTE_SPINLOCK_INITIALIZER is { 0 }
> > By initializing one field, all other fields are set to 0, so spinlock also.
> > Just choose one field and it's OK.
> > It should be tested with ICC also but I think it's OK.
>
> Seems that you are right, at least for C99:
>
> C99 Standard 6.7.8.21
>
> If there are fewer initializers in a brace-enclosed list than
> there are elements or members of an aggregate, or fewer characters
> in a string literal used to initialize an array of known size than
> there are elements in the array, the remainder of the aggregate
> shall be initialized implicitly the same as objects that have static
> storage duration.
>
>
> I am not sure if there can be problems with other C dialects (e.g. C11),
> I don't have the std here. So to prevent any problem with them (could
> produce a dead-lock during first rte_kni_alloc() that could be difficult
> to troubleshoot), I would still explicitly initialize the mutex, in one
> or the other way.
>
> Just tell me if you agree and which one you prefer.
No problem for initializing mutex.
> I don't have an ICC license. I am always trying it with GCC and clang.
That's why it's the Intel job to support ICC in DPDK :)
--
Thomas
More information about the dev
mailing list