WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-bugs

[Xen-bugs] [Bug 1392] New: Problems with denormalized floating point num

To: xen-bugs@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-bugs] [Bug 1392] New: Problems with denormalized floating point numbers on XEN-virtualized Linux/IA64
From: bugzilla-daemon@xxxxxxxxxxxxxxxxxxx
Date: Wed, 3 Dec 2008 08:34:59 -0800
Delivery-date: Wed, 03 Dec 2008 08:35:28 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-bugs-request@lists.xensource.com?subject=help>
List-id: Xen Bugzilla <xen-bugs.lists.xensource.com>
List-post: <mailto:xen-bugs@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-bugs>, <mailto:xen-bugs-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-bugs>, <mailto:xen-bugs-request@lists.xensource.com?subject=unsubscribe>
Reply-to: bugs@xxxxxxxxxxxxxxxxxx
Sender: xen-bugs-bounces@xxxxxxxxxxxxxxxxxxx
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


-- 
Configure bugmail: 
http://bugzilla.xensource.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

_______________________________________________
Xen-bugs mailing list
Xen-bugs@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-bugs