[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100802160951.GA13385@redhat.com>
Date: Mon, 2 Aug 2010 18:09:51 +0200
From: Oleg Nesterov <oleg@...hat.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Ben Woodard <bwoodard@...l.gov>,
Brian Behlendorf <behlendorf1@...l.gov>,
Jeremy Fitzhardinge <jeremy@...p.org>,
Mark Grondona <mgrondona@...l.gov>,
linux-kernel@...r.kernel.org
Subject: [PATCH] trivial, document that div64_u64() is not precise on 32bit
platforms
We have a bugreport which blames div64_u64() on 32bit platforms.
However, the code obviously doesn't even try to pretend it can do
the 64bit division precisely. If there is something in the high
word of divisor, div64_u64() just shifts both arguments and throws
out the low bits.
Add a small comment to avoid the confusion.
Signed-off-by: Oleg Nesterov <oleg@...hat.com>
---
lib/div64.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- a/lib/div64.c
+++ b/lib/div64.c
@@ -77,7 +77,10 @@ s64 div_s64_rem(s64 dividend, s32 diviso
EXPORT_SYMBOL(div_s64_rem);
#endif
-/* 64bit divisor, dividend and result. dynamic precision */
+/*
+ * 64bit divisor, dividend and result. Dynamic precision, unless
+ * divisor fits in u32 result is not exactly correct.
+ */
#ifndef div64_u64
u64 div64_u64(u64 dividend, u64 divisor)
{
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists