SUMMARY: fifo-do-adaptive setting

From: Cohen, Andy (Andy.Cohen_at_cognex.com)
Date: 11/20/03

  • Next message: Cohen, Andy: "collect: where is collgui?"
    Date: Thu, 20 Nov 2003 12:03:04 -0500
    To: "Tru64-Unix-Managers (E-mail)" <tru64-unix-managers@ornl.gov>
    
    

    Thanks to all who weighed in on this. The consensus was that there is no
    harm in setting it to 0. It's highly recommended to have it set to 0 if the
    primary purpose of the server is to run a database (which our's is). The
    default value is 1 and there may be some situations that warrant this
    setting.

    Here are the responses:

    +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

    The system tuning guide (there is a whole book, should have been updated
    for V5.1 or V5.1A, I have the V5.1B version in front of me) is explicit
    that if you are running a database server, setting fifo_do_adaptive=0
    is strongly recommended. See also the sys_attrs_vfs reference page. In
    any case, if the primary use of the system is to run Oracle stuff, then
    go with the recommendation; if the primary use is general timesharing,
    you may get better performance with the default, at the cost of some
    degradation in Oracle performance.

    Tom

    +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

    The recommendation to set it to 0 is based on a history of issues with the
    new wire method we attempted to introduce back in the 4.0 stream..

    Setting it to 0 is the safest.
    ...
    Anyways, fifi-do-adaptive is a performance setting. When it's turned on
    the kernel will attempt to make fifo operations more efficient by waiting
    for the data to reach a certain threshold. The Oracle BEQ protocol uses
    FIFOs extensively but expect the data to be passed immediately. As a
    result, the fifo-do-adaptive setting will actually achieve the opposite of
    our intent in some Oracle environments and turning off adaptive fifos will
    remedy this situation.

    In environments where you don't use the BEQ protocol this setting has no
    effect what so ever, so it's safe to turn it of here too - thus the
    recommendation.
     // Thomas

    +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

    fifo-do-adaptive is an optimization for high throughput at the expense of
    response time.
    If you are putting multi-megabytes of small messages through a fifo it will
    be a big win.
    However, Oracle uses fifo's for chatting between processes, and the
    fifo-do-adaptive=1 wil cause significent delays.

    Setting fifo-do-adaptive=0 will not cause any loss of function, at worst you
    may see some loss of performance.

    Here is a description from "man sys_attrs_vfs":
    ================================================

    fifo_do_adaptive

          A value that enables (1) or disables (0) the pipe code that attempts
    to
          do batch writes to a pipe and deliver the data in a single call to a
          reader.

          Default value: 1 (enabled)

    Here is a description of the new_wire_method:
    ==============================================
    The "new-wire-method" is also known as "light-weight wiring". It is
    just that -- a faster way of indicating to the Virtual Memory subsystem
    that a page of physical memory is locked, i.e., "wired", into an
    address space.

    Light-weight wiring comes into effect when a memory wiring request
    happens to find that *all* the pages in the requested address range
    are already memory resident. The "lightness" comes in the fact that
    wiring can be quickly reflected in the page table entries (PTEs) of
    the affected pages rather than in the higher level address maps.

    Map-based, "heavy-weight" wiring is necessary when the pages to be
    wired are nonresident, that is, when they must be faulted in from
    backing store before wiring can occur.

    Note that light-weight wiring only occurs for requests from within
    the kernel, such as for DMA i/o. Light-weight wiring is never used
    as the result of a user wiring request made via mlock, mlockall,
    or plock.

    *************
    +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_

    Thanks to Dr. Tom Blinn, Thomas L. Sjolshagen, Blair Phillips, and John
    Lanier.

    Andy Cohen
    Database Systems Administrator
    Cognex Corporation
    1 Vision Drive
    Natick, MA 01760
    508-650-3079

    ORIGINAL QUESTION
    ===============
    I've just run sys_check on a DS20E machine running 5.1A PK3. We run Oracle
    8174 on this machine and one of the recommendations from sys_check is to set
    fifo-do-adaptive=0. Oracle's metaLink site has a general recommendation to
    make this setting as well. I don't believe we are experiencing the
    difficulty that this setting is designed to correct but I was wondering what
    the implications could be if we set it to 0 (it defaults to 1) anyway; i.e.
    any risk or downside to setting it to 0?


  • Next message: Cohen, Andy: "collect: where is collgui?"

    Relevant Pages

    • Re: Kill Switches
      ... News wrote: ... Does anyone have recommendation on the best way to disable the ignition ... wiring, which just may go wrong at an inconvenient moment, when removing ... the rotor arm is so simple? ...
      (uk.rec.cars.classic)
    • Re: oracle on sun solaris
      ... Since this is a datawarehouse system, random sequential io is my main ... UFS, Veritas or raw device? ... But I'd also temper that recommendation, or any recommendation, by ... We realize the current mantra from oracle is ASM ... ...
      (comp.databases.oracle.server)
    • Re: oracle on sun solaris
      ... Since this is a datawarehouse system, random sequential io is my main ... UFS, Veritas or raw device? ... But I'd also temper that recommendation, or any recommendation, by ... We realize the current mantra from oracle is ASM ... ...
      (comp.databases.oracle.server)
    • Small Redo Log File Size
      ... I'm working with an Oracle 10g Version 1.0 datawarehouse database upgraded ... The size of the current Redo Log Files (3 groups of only 1 file ... resistance - or apathy - when I suggest following this recommendation. ... the benefits of properly sized Redo Log Files and the pitfalls of improperly ...
      (comp.databases.oracle.server)
    • Re: oracle on sun solaris
      ... Since this is a datawarehouse system, random sequential io is my main ... UFS, Veritas or raw device? ... But I'd also temper that recommendation, or any recommendation, by ... We realize the current mantra from oracle is ASM ... ...
      (comp.databases.oracle.server)