Thread (7 messages) flat view 7 messages, 3 authors, 2009-03-23

Re: Fix for __div64_32 locks when using some 64 bit numbers

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2009-03-21 21:46:21

On Fri, 2009-03-20 at 12:33 -0700, davidastro wrote:
Hi Ben:

I was wondering if you have any change to look into and test the propose fix
I suggested in my previous post.
I'd like to know if the fix is correct.
Sorry, I haven't had a chance yet. I will asap.

Ben.
Thanks for your attention,


Benjamin Herrenschmidt wrote:
quoted
On Tue, 2009-03-17 at 14:15 -0700, davidastro wrote:
quoted
I found a bug when using the function __div64_32 in assembly in a 32 bit
ppc
architecture unit.

I tried the numbers 55834565048000000 for the dividend and 4294967079 for
the divisor. When passing these two numbers to the function  __div64_32,
I
had a software lock. I searched for possible patches online and in
different
forums but I could not find anything related to the assembly
implementation
to this function (I would have to apologize if somebody already found a
fix
:-) ).

Anyway, when analyzing the assembly code, I found out with gdb the
problem.
I am not an expert in ppc architecture but I read the documentation and I
am
pretty sure I solved the issue (I have been testing for couple of days
using
random 64 to 32 number combinations with good results).

Who or Where should I post the fix to be reviewed.
Here is fine :-)

Ben.


_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help