From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx.bisdn.de (mx.bisdn.de [185.27.182.31]) by dpdk.org (Postfix) with ESMTP id A4F9E7E7B for ; Wed, 22 Oct 2014 11:41:00 +0200 (CEST) Received: from [192.168.1.43] (42.Red-79-146-253.dynamicIP.rima-tde.net [79.146.253.42]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx.bisdn.de (Postfix) with ESMTPSA id 43F09A2DA9; Wed, 22 Oct 2014 11:49:19 +0200 (CEST) Message-ID: <54477DBD.1090701@bisdn.de> Date: Wed, 22 Oct 2014 11:49:49 +0200 From: Marc Sune User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131103 Icedove/17.0.10 MIME-Version: 1.0 To: Thomas Monjalon References: <1ED644BD7E0A5F4091CF203DAFB8E4CC01D8288F@SHSMSX101.ccr.corp.intel.com> <2234340.4n5qb1rBlX@xps13> <54476DF9.6060906@bisdn.de> <4364683.dn9JoP4MXp@xps13> In-Reply-To: <4364683.dn9JoP4MXp@xps13> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH] KNI: fix compilation warning 'missing-field-initializers' X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Oct 2014 09:41:01 -0000 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. I don't have an ICC license. I am always trying it with GCC and clang. Marc