| | |||||
| Modified 27-JAN-2010 Type PROBLEM Status PUBLISHED | |||||
In this Document
Symptoms
Cause
Solution
References
Applies to:
Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 10.1.0.2Red Hat Enterprise Linux Advanced Server Itanium
UnitedLinux Itanium
Oracle Server Enterprise Edition - Version: 10.1.0.2 to 10.1.0.2
Checked for relevance on 25-Feb-2009
This note is applicable on Itanium Architecture only
Symptoms
In the server console appears messages likeoracle(9581): floating-point assist fault at ip 40000000068c22c2
...
oracle(13763): floating-point assist fault at ip 40000000072b8081
Cause
The messages are not errors,just information/warning that the operation being performed by the processor needed a software assist.
As reported on
http://h21007.www2.hp.com/portal/site/dspp/menuitem.863c3e4cbcdc3f3515b49c108973a801?ciid=62080055abe021100055abe02110275d6e10RCRD
We reproduce here part of this article titled What's up with those "floating-point assist fault" messages? - Linux on Itanium
When working at the Linux console or looking through the kernel's log file in /var/log/messages,
you may encounter messages of the form:
test-fpsr(1416): floating-point assist fault at ip 40000000000005d2
This message means that program "test-fpsr" with process id 1416 performed a floating-point
operation that required software assistance.
On Itanium, this usually happens when operating on IEEE denormals
(numbers that cannot be represented in normalized form).
Again, just like for unaligned accesses, these operations are emulated in the kernel,
so there is nothing to worry from a correctness point of view. However,
emulating these operations takes time and can slow down a program significantly.
Since most programs don't need full IEEE-compliance, Itanium Linux
provides a function to turn on "flush-to-zero" mode in the processor,
which avoids generating IEEE denormals as a result of ordinary floating-point calculations.
This mode can be turned on using the following code fragment:
#include
:
fesetenv (FE_NONIEEE_ENV);
:
Alternatively, compiler option -ffast-math can be used when linking
the final program to achieve the same effect. For example:
gcc -ffast-math test.o -o test
would build program "test" with flush-to-zero mode turned on.
Note:
the Oracle code cannot be changed or compiled such that the condition that generates the message is eliminated.
This because the hardware doesn't support the floating-point operation being reque
Solution
It is possible to completely turn off the floating-point assist messages from the console (they are still written to /var/log/messages)To do this, simply issue the command as "root":
$ dmesg -n4To eliminate them also from /var/log/messages :
1. edit /etc/syslog.conf changing line:
*.info;mail.none;authpriv.none;cron.none /var/log/messagesto
*.error;mail.none;authpriv.none;cron.none /var/log/messagesThis means any facility logging messages below error level will be suppressed
2. restart syslog
service syslog restart
To explain wht is being suppressed:
From the syslog man page:
Every text line in a message has its own loglevel.
This level is DEFAULT_MESSAGE_LOGLEVEL - 1 (6) unless the line starts with <d> where d is a digit in the range 1-7,
in which case the level is d. The conventional meaning of the loglevel is defined in <linux/kernel.h> as follows:
#define KERN_EMERG "<0>" /* system is unusable */
#define KERN_ALERT "<1>" /* action must be taken immediately */
#define KERN_CRIT "<2>" /* critical conditions */
#define KERN_ERR "<3>" /* error conditions */
#define KERN_WARNING "<4>" /* warning conditions */
#define KERN_NOTICE "<5>" /* normal but significant condition */
#define KERN_INFO "<6>" /* informational */
#define KERN_DEBUG "<7>" /* debug-level messages */
The n4 in the dmesg command means to filter messages of "warning conditions" of which the floating point software assist messages are. The *.error in syslog.conf means all levels below e
References
BUG:3777000 - FLOATING-POINT ASSIST FAULT(FPSWA) CAUSES POOR PERFORMANCEBUG:3796598 - KERNEL: ORACLE(570): FLOATING-POINT ASSIST FAULT AT IP CAUSES CONNECTION PROBLEM
http://i-cluster2.inrialpes.fr/doc/misc/fpswa.txt
http://bugpriority.oraclecorp.com/pls/bugpriority/DWB_RFA_HTML.RFA_ADMIN?P_RFA_REQUEST_ID=1158
http://h21007.www2.hp.com/portal/site/dspp/menuitem.863c3e4cbcdc3f3515b49c108973a801?ciid=62080055abe021100055abe02110275d6e10RCRD
|
Products
|
Related
0 ความคิดเห็น:
แสดงความคิดเห็น