Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965459AbbDVOgX (ORCPT ); Wed, 22 Apr 2015 10:36:23 -0400 Received: from hofr.at ([212.69.189.236]:51331 "EHLO mail.hofr.at" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933370AbbDVOgU (ORCPT ); Wed, 22 Apr 2015 10:36:20 -0400 Date: Wed, 22 Apr 2015 16:36:18 +0200 From: Nicholas Mc Guire To: Thomas Gleixner Cc: Nicholas Mc Guire , Michal Marek , Masahiro Yamada , Sam Ravnborg , "H. Peter Alvin" , Joe Perches , John Stultz , Andrew Hunter , Paul Turner , Aaron Sierra , Brian Norris , linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/3 V2] time: allow gcc to fold constants when using Message-ID: <20150422143618.GA28213@opentech.at> References: <1428840815-21974-1-git-send-email-hofrat@osadl.org> <1428840815-21974-3-git-send-email-hofrat@osadl.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2001 Lines: 62 On Wed, 22 Apr 2015, Thomas Gleixner wrote: > On Sun, 12 Apr 2015, Nicholas Mc Guire wrote: > > +extern unsigned long __msecs_to_jiffies(const unsigned int m); > > +#if HZ <= MSEC_PER_SEC && !(MSEC_PER_SEC % HZ) > > +static inline unsigned long _msecs_to_jiffies(const unsigned int m) > > +{ > > This should move the comments explaining the logic for each variant as > well. should be covered by [PATCH 3/3 V2] time: update msecs_to_jiffies doc and move to kernel-doc > > > + return (m + (MSEC_PER_SEC / HZ) - 1) / (MSEC_PER_SEC / HZ); > > +} > > +#elif HZ > MSEC_PER_SEC && !(HZ % MSEC_PER_SEC) > > +static inline unsigned long _msecs_to_jiffies(const unsigned int m) > > +{ > > + if (m > jiffies_to_msecs(MAX_JIFFY_OFFSET)) > > + return MAX_JIFFY_OFFSET; > > + return m * (HZ / MSEC_PER_SEC); > > +} > > +#else > > +static inline unsigned long _msecs_to_jiffies(const unsigned int m) > > +{ > > + if (HZ > MSEC_PER_SEC && m > jiffies_to_msecs(MAX_JIFFY_OFFSET)) > > + return MAX_JIFFY_OFFSET; > > + > > + return (MSEC_TO_HZ_MUL32 * m + MSEC_TO_HZ_ADJ32) > > + >> MSEC_TO_HZ_SHR32; > > +} > > +#endif > > +static inline unsigned long msecs_to_jiffies(const unsigned int m) > > +{ > > + if (__builtin_constant_p(m)) { > > + if ((int)m < 0) > > + return MAX_JIFFY_OFFSET; > > + return _msecs_to_jiffies(m); > > + } else > > + return __msecs_to_jiffies(m); > > It'd be nice to have this as two patches: > > 1) Factor out the code into inline helpers w/o adding anything > > 2) Add the __builtin_constant_p() check > so basically 1) is refactoring only and 2) is the actual change keept at a minimum or what is the intent of this split ? will cleanup and resubmit - just waiting for some feedback on the Kbuild change. thx! hofrat -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/