Prev: [PATCH 5/6] arch/blackfin: Remove dead CONFIG_ADF702X
Next: linux-next: build failure after merge of the final tree (tip tree related)
From: Oleg Nesterov on 2 Aug 2010 12:20 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(a)redhat.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(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |