[lkml]   [2004]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: 2.4.21 on Itanium2: floating-point assist fault at ip 400000000062ada1, isr 0000020000000008
    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 |\

    void fpu()
    __setfpucw(_FPU_DEFAULT & ~FPU_MASK);

    main() {
    double zero=0.0;
    double one=1.0;

    one /=zero; // Testing, remove this after

    Dick Johnson
    Penguin : Linux version 2.4.24 on an i686 machine (797.90 BogoMips).
    Note 96.31% of all statistics are fiction.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 14:02    [W:0.022 / U:0.080 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site