Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161380AbXBZXDp (ORCPT ); Mon, 26 Feb 2007 18:03:45 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1161384AbXBZXDp (ORCPT ); Mon, 26 Feb 2007 18:03:45 -0500 Received: from tmailer.gwdg.de ([134.76.10.23]:60545 "EHLO tmailer.gwdg.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1161380AbXBZXDo (ORCPT ); Mon, 26 Feb 2007 18:03:44 -0500 Date: Tue, 27 Feb 2007 00:02:50 +0100 (MET) From: Jan Engelhardt To: Stephen Hemminger cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [RFC] div64_64 support In-Reply-To: <20070226143127.5c74bec9@freekitty> Message-ID: References: <20070223170527.4ca695b2@freekitty> <20070226143127.5c74bec9@freekitty> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Report: Content analysis: 0.0 points, 6.0 required _SUMMARY_ Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1211 Lines: 42 On Feb 26 2007 13:28, Stephen Hemminger wrote: >> >> ./arch/arm26/lib/udivdi3.c >> ./arch/sh/lib/udivdi3.c >> ./arch/sparc/lib/udivdi3.S >> >> should not this be consolidated too? > >Hmm. Those are the GCC internal versions, that are picked up but >doing divide in place. Do we want to allow general 64 bit in kernel to >be easily used? It could cause sloppy slow code, but it would look >cleaner. Then our reviewers should catch it, and if not, the janitors will (/me winks at R.P.J.Day and trivial@). >@@ -134,7 +112,7 @@ > */ > do { > x1 = x; >- x = (2 * x + (uint32_t) div64_64(a, x*x)) / 3; >+ x = (2 * x + (u32) (a / x*x)) / 3; Eye see a bug. Previously there was div64_64(a, x*x) which is equivalent to (a)/(x*x), or just: a/(x^2). But now you do a/x*x, which is equivalent to a*x/x (in the domain of real numbers). Furthermore, a/x*x is a-(a%x), which does not even remotely match a/(x^2). Please keep the math intact, thank you ;-) Jan -- - 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/