From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pavan Nikhilesh Subject: Re: [PATCH 1/2] eal: add macros to align value to multiple Date: Fri, 16 Mar 2018 14:11:19 +0530 Message-ID: <20180316084118.GA5350@ltp-pvn> References: <20180314094100.12373-1-pbhagavatula@caviumnetworks.com> <2601191342CEEE43887BDE71AB9772589E28F9A5@irsmsx105.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org To: "Ananyev, Konstantin" , "jerin.jacob@caviumnetworks.com" , "thomas@monjalon.net" Return-path: Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0043.outbound.protection.outlook.com [104.47.33.43]) by dpdk.org (Postfix) with ESMTP id 8D9D92BE5 for ; Fri, 16 Mar 2018 09:41:43 +0100 (CET) Content-Disposition: inline In-Reply-To: <2601191342CEEE43887BDE71AB9772589E28F9A5@irsmsx105.ger.corp.intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi Konstantin, On Wed, Mar 14, 2018 at 10:42:54AM +0000, Ananyev, Konstantin wrote: > Hi Pavan, > > > > > Add macros to align given value to the multiple of the supplied > > integer. > > > > Signed-off-by: Pavan Nikhilesh > > --- > > > > Common code needed for OcteonTx event timer device. > > > > lib/librte_eal/common/include/rte_common.h | 16 ++++++++++++++++ > > 1 file changed, 16 insertions(+) > > > > diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h > > index c7803e41c..2052b5300 100644 > > --- a/lib/librte_eal/common/include/rte_common.h > > +++ b/lib/librte_eal/common/include/rte_common.h > > @@ -190,6 +190,22 @@ static void __attribute__((constructor(prio), used)) func(void) > > */ > > #define RTE_ALIGN(val, align) RTE_ALIGN_CEIL(val, align) > > > > +/** > > + * Macro to align a value to the multiple of given value. The resultant > > + * value will be of the same type as the first parameter and will be no lower > > + * than the first parameter. > > + */ > > +#define RTE_ALIGN_MUL_CEIL(v, mul) \ > > + (((v + (typeof(v)) mul - 1) / ((typeof(v)) mul)) * (typeof(v))mul) > > I think you need to add braces around mul: > (((v + (typeof(v))(mul) - 1) / ((typeof(v))(mul))) * (typeof(v))(mul)) > Same above. Agreed, will roll up a v2. > Konstantin Thanks for reviewing, Pavan. > > > + > > +/** > > + * Macro to align a value to the multiple of given value. The resultant > > + * value will be of the same type as the first parameter and will be no higher > > + * than the first parameter. > > + */ > > +#define RTE_ALIGN_MUL_FLOOR(v, mul) \ > > + ((v / ((typeof(v)) mul)) * (typeof(v))mul) > > + > > /** > > * Checks if a pointer is aligned to a given power-of-two value > > * > > -- > > 2.16.2 >