From: "Richard B. Johnson" <root@chaos.analogic.com>
To: Alex Williamson <alex.williamson@hp.com>
Cc: davidm@hpl.hp.com,
Denis Vlasenko <vda@port.imtp.ilyichevsk.odessa.ua>,
ulrich.windl@rz.uni-regensburg.de,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: 2.4.21 on Itanium2: floating-point assist fault at ip 400000000062ada1, isr 0000020000000008
Date: Wed, 31 Mar 2004 13:53:13 -0500 (EST) [thread overview]
Message-ID: <Pine.LNX.4.53.0403311339550.12319@chaos> (raw)
In-Reply-To: <1080757433.2326.32.camel@patsy.fc.hp.com>
On Wed, 31 Mar 2004, Alex Williamson wrote:
> On Wed, 2004-03-31 at 11:06, David Mosberger wrote:
>
> > If the messages appear with a frequency of less than 5 messages/5
> > seconds, then there is certainly no performance issue and you may want
> > to just turn off the messages.
>
> But if you do get them at the maximum rate for a computational
> application, performance could be _severely_ impacted (ie. orders of
> magnitude).
>
> Alex
>
The power-on or hardware-reset default for the ix86 FPU
is to attempt to handle div 0 errors transparently.
In others words:
R = 1 / (1/r1 + 1/r2 + 1/r3 +...) will resolve correctly
if any r...n = 0. Parallel resistance when one or more
resistors is 0 ohms.
This it probably not the default for the Itanium so your
application either needs to be fixed or at least needs to
set the FPU to handle these problems. The configuration of
the FPU remains, per-process, so some executable could
be run upon login to "fix" the processor.
The following program should cause the bad program to
core-dump any time it is run. You could also configure
this so it lets anybody write garbage and it will "work".
----------------------------------------------------------------
/*
* Note FPU control only exists per process. Therefore, you have
* to set up the FPU before you use it in any program.
*/
#include <fpu_control.h>
#define FPU_MASK (_FPU_MASK_IM |\
_FPU_MASK_DM |\
_FPU_MASK_ZM |\
_FPU_MASK_OM |\
_FPU_MASK_UM |\
_FPU_MASK_PM)
void fpu()
{
__setfpucw(_FPU_DEFAULT & ~FPU_MASK);
}
main() {
double zero=0.0;
double one=1.0;
fpu();
one /=zero; // Testing, remove this after
}
-----------------------------
Cheers,
Dick Johnson
Penguin : Linux version 2.4.24 on an i686 machine (797.90 BogoMips).
Note 96.31% of all statistics are fiction.
next prev parent reply other threads:[~2004-03-31 18:52 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-31 13:16 Ulrich Windl
2004-03-31 17:00 ` Denis Vlasenko
2004-03-31 18:06 ` David Mosberger
2004-03-31 18:23 ` Alex Williamson
2004-03-31 18:37 ` David Mosberger
2004-03-31 18:53 ` Richard B. Johnson [this message]
2004-03-31 19:10 ` David Mosberger
2004-03-31 20:13 ` Richard B. Johnson
2004-03-31 21:27 ` David Mosberger
2004-03-31 20:15 ` Helge Deller
2004-04-01 7:04 ` Ulrich Windl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.53.0403311339550.12319@chaos \
--to=root@chaos.analogic.com \
--cc=alex.williamson@hp.com \
--cc=davidm@hpl.hp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ulrich.windl@rz.uni-regensburg.de \
--cc=vda@port.imtp.ilyichevsk.odessa.ua \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®