|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
[Xen-ia64-devel] [Fwd: [Xen-bugs] [Bug 1392] New: Problems with denormal
This looks pretty nasty and it still occurs on latest upstream. The
test program in the bugzilla usually shows the problem within a couple
runs. Thanks,
Alex
-------- Forwarded Message --------
> From: bugzilla-daemon@xxxxxxxxxxxxxxxxxxx
> Reply-to: bugs@xxxxxxxxxxxxxxxxxx
> To: xen-bugs@xxxxxxxxxxxxxxxxxxx
> Subject: [Xen-bugs] [Bug 1392] New: Problems with denormalized
> floating point numbers on XEN-virtualized Linux/IA64
> Date: Wed, 3 Dec 2008 08:34:59 -0800
>
> http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1392
>
> Summary: Problems with denormalized floating point numbers on
> XEN-virtualized Linux/IA64
> Product: Xen
> Version: 3.0.3
> Platform: IA64
> OS/Version: Linux
> Status: NEW
> Severity: normal
> Priority: P2
> Component: Unspecified
> AssignedTo: xen-bugs@xxxxxxxxxxxxxxxxxxx
> ReportedBy: volker.simonis@xxxxxxxxx
> CC: volker.simonis@xxxxxxxxx
>
>
> Hi,
>
> while we were testing our Java VM on a XEN-virtualized Linux/IA64 we
> encountered some non-deterministic, but reproducible floating point failures.
> After some debugging we could exclude the Java VM as the root cause of the
> problem and came up with the following small C++ test case, which usually
> fails
> on a virtualized Linux box. We couldn't however reproduce the failure on any
> other, non-virtualized IA64 Linux.
>
> Attached you can find the test program "fnorms.cpp". Please compile with 'gcc
> -g fnorms.cpp'. The program will silently finish if no error occurs, otherwise
> it will print one or more lines like: "ERROR: 1.401298e-45 != 1.000000e+00".
>
> During our debugging sessions, we observed that the reason for the failure is
> that certain IA64 floating point instructions like 'fnorm.s', 'fmpy.s' or
> 'fcmp' may fail if they are applied to denormalized floating point values.
>
> If the multiplication ('fmpy.s') fails, the error line shows different numbers
> (e.g. "ERROR: 1.401298e-45 != 1.000000e+00"). But thre's also a case where the
> compare fails (i.e. the 'fcmp' which was generated for "if (result !=
> min_float)"). If this happens, the test program "erroneously" reports that the
> result of the multiplication and the initial value of "min_float" differ
> ("ERROR: 1.401298e-45 != 1.401298e-45"), although the two numbers are really
> equal.
>
> Because we have only observed these failures on a Xen-virtualized IA64-Linux
> version (in both, dom0 and dom1) our assumption is that there may be a problem
> in the implementation of the Floating Point Software Assistance (FPSWA) in
> Xen,
> because all of the above mentioned instructions generate a "floating-point
> assist fault" if they are applied to denormalized values (as can be seen in
> "/var/log/messages"). This is only a vague guess however...
>
> Has anybody seen these problems before or are there any ideas why this
> happens?
>
> With best regards,
> Volker
>
> PS: we have tested on:
>
> Xen: 3.0.3-64
>
> dom0: RHEL 5.2
> ---------------
> [root@xxxxxx ~]# uname -a
> Linux xxxxxx.wdf.sap.corp 2.6.18-92.el5xen #1 SMP Tue Apr 29 13:36:07 EDT 2008
> ia64 ia64 ia64 GNU/Linux
> [root@xxxxxx ~]# lsb_release -a
> LSB Version:
> :core-3.1-ia64:core-3.1-noarch:graphics-3.1-ia64:graphics-3.1-noarch
> Distributor ID: RedHatEnterpriseServer
> Description: Red Hat Enterprise Linux Server release 5.2 (Tikanga)
> Release: 5.2
> Codename: Tikanga
> [root@xxxxxx ~]# rpm -q xen
> xen-3.0.3-64.el5_2.1
> [root@xxxxxx ~]# xm info
> host : xxxxxx.wdf.sap.corp
> release : 2.6.18-92.el5xen
> version : #1 SMP Tue Apr 29 13:36:07 EDT 2008
> machine : ia64
> nr_cpus : 4
> nr_nodes : 1
> sockets_per_node : 2
> cores_per_socket : 2
> threads_per_core : 1
> cpu_mhz : 1594
> hw_caps :
> 00000000:00000000:00000000:00000000:00000000:00000000:00000000:00000000:
> total_memory : 32722
> free_memory : 17277
> node_to_cpu : node0:no cpus
> xen_major : 3
> xen_minor : 1
> xen_extra : .2-92.el5
> xen_caps : xen-3.0-ia64 xen-3.0-ia64be hvm-3.0-ia64
> xen_pagesize : 16384
> platform_params : virt_start=0xe800000000000000
> xen_changeset : unavailable
> cc_compiler : gcc version 4.1.2 20071124 (Red Hat 4.1.2-41)
> cc_compile_by : brewbuilder
> cc_compile_domain : redhat.com
> cc_compile_date : Tue Apr 29 13:14:31 EDT 2008
> xend_config_format : 2
>
> dom1: RHEL 5.2 (2.6.18-53.1.14.el5xen #1 SMP Tue Feb 19 07:35:46 EST 2008
> ia64)
> ---------------
>
> # cat /proc/cpuinfo
> processor : 0
> vendor : Xen/ia64
> arch : IA-64
> family : 32
> model : 0
> revision : 7
> archrev : 0
> features : branchlong, 16-byte atomic ops
> cpu number : 0
> cpu regs : 4
> cpu MHz : 1594.000895
> itc MHz : 399.222286
> BogoMIPS : 3006.46
> siblings : 1
>
> processor : 1
> vendor : Xen/ia64
> arch : IA-64
> family : 32
> model : 0
> revision : 7
> archrev : 0
> features : branchlong, 16-byte atomic ops
> cpu number : 0
> cpu regs : 4
> cpu MHz : 1594.000895
> itc MHz : 399.222286
> BogoMIPS : 3178.49
> siblings : 1
>
> CPUID0: 0x756E6547
> CPUID1: 0x6C65746E
> CPUID2: 0x0
> CPUID3: 0x20000704
> CPUID4: 0x5
>
>
--
Alex Williamson HP Open Source & Linux Org.
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-ia64-devel] [Fwd: [Xen-bugs] [Bug 1392] New: Problems with denormalized floating point numbers on XEN-virtualized Linux/IA64],
Alex Williamson <=
|
|
|
|
|