Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261246AbUCZUqe (ORCPT ); Fri, 26 Mar 2004 15:46:34 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261232AbUCZUpm (ORCPT ); Fri, 26 Mar 2004 15:45:42 -0500 Received: from pop.gmx.de ([213.165.64.20]:44232 "HELO mail.gmx.net") by vger.kernel.org with SMTP id S261210AbUCZUp0 (ORCPT ); Fri, 26 Mar 2004 15:45:26 -0500 X-Authenticated: #271361 Date: Fri, 26 Mar 2004 21:45:07 +0100 From: Edgar Toernig To: Sridhar Samudrala Cc: davem@redhat.com, jgarzik@pobox.com, linux-kernel@vger.kernel.org, netdev@oss.sgi.com Subject: Re: [PATCH] Consolidate multiple implementations of jiffies-msecs conversions. Message-Id: <20040326214507.0af7c06b.froese@gmx.de> In-Reply-To: References: <20040326014403.39388cb8.froese@gmx.de> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1111 Lines: 29 Sridhar Samudrala wrote: > > On Fri, 26 Mar 2004, Edgar Toernig wrote: > > > Sridhar Samudrala wrote: > > > > > >[...] > > > -#define MSECS(ms) (((ms)*HZ/1000)+1) > > > -return (((ms)*HZ+999)/1000); > > > +return (msecs / 1000) * HZ + (msecs % 1000) * HZ / 1000; > > > > Did you check that all users of the new version will work correctly > > with your rounding? Explicit round-up of delays is often required, > > especially when talking to hardware... >[...] > I guess you are referring to cases when HZ < 1000(ex: 100) and msecs is > less than 10. In those cases, the new version returns 0, whereas some of the > older versions return 1. Exactly - but not only <10. Any value that is not exactly representable in jiffies. I.e. for a delay of 15ms one has to wait 2 jiffies on a 100HZ system. Your version would give 1 jiffy = 10ms -- too short. Ciao, ET. - 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/