Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: floating point context handling on xen amd64 broken?



On Thu, Mar 27, 2008 at 11:09:44PM +0100, Tobias Nygren wrote:
> This simple test program nondeterministically fails to produce the
> correct result for me if I run two or more processes in parallell:
> 
> #include <stdio.h>
> #include <math.h>
> int main(void) {
>       double x;
>       int i;
>       x = 0;
>       for (i = 1; i < 100000000; i++) {
>               x += 1.0 / (double)i;
>       }
>       printf("got: %f\n", x);
>       printf("ref: 18.997896\n");
> }
> 
> I've attached my kernel config for reference.

Hi,
I just commited a fix for this (and any other floating point issues on
NetBSD/Xenamd64); I can now run 2 of theses in a domU, and 2 of these in a
dom0 in a loop, and none of them fails.

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index