Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z
faqs.org - Internet FAQ Archives

SGI performer Frequently Asked Questions (FAQ)
Section - -22- Guaranteeing Real Time performance

( Single Page )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Forum ]


Top Document: SGI performer Frequently Asked Questions (FAQ)
Previous Document: -21- Binary Compatibility on different releases
Next Document: -23- How do I make GL calls from within a IRIS Performer program?
See reader questions & answers on this topic! - Help others by sharing your knowledge

  - Run as root so that Performer can lock your process to
    a particular CPU (if using pfuLockCPU) and give it a
    non-degrading priority.

  - Be sure to kill any clocks, gr_osview, or other tools that may
    wake up and draw themselves, so as to avoid graphics context
    switches.

  - When multiprocessing, make sure the executable is on a local file
    system.

  - There is a new real-time kernel directive for Onyx/Challenge
    processors for directing system interrupts away from real-time
    processors.

    In the file /var/sysgen/system/irix.sm, Search for NOINTR and
    below the comment explaining NOINTR, add the line

	NOINTR: 1 2 3 4 ..etc..

    where you list the CPUs that you intend to do real-time
    processing on.  Then reboot.  This can be done on 5.2+
    Onyx/Challenge systems but wasn't covered in the base IRIX5
    documentation.  Be sure -not- to specify CPU 0, as you will want
    it to be available for necessary interrupts.

  - With IRIS GL, real-time performance can only be guaranteed if you
    have one window rendering at a time, per pipe.

    If more than one application is rendering to the same hardware
    pipeline, the (hardware) graphics pipe has to switch back & forth
    between each GL window's context several hundred times per
    second.  This is horribly inefficient and the graphics pipe will
    instruct the "other" process to block while its context is
    switched out.

  - Since having other (cpu-based) applications running can also
    effect real-time performance, it's sometimes desirable to
    minimize the number of daemons and other processes.  If you have
    problems achieving real-time behavior, try the pfuLockCPU in
    libpfutil.  You might also try turning off the desktop support
    and other daemons that are not crucial to your application,
    e.g.:

       % touch ~/.disableDesktop
       or
       % mkdir ~/.desktop-<machinename>
       % touch ~/.desktop-<machinename>/nodesktop

    and for total removal do:

       % chkconfig desktop off
       % chkconfig objectserver off
       % chkconfig directoryserver off
       % chkconfig fontserver off
       % chkconfig soundscheme off
     

User Contributions:

Comment about this article, ask questions, or add new information about this topic:




Top Document: SGI performer Frequently Asked Questions (FAQ)
Previous Document: -21- Binary Compatibility on different releases
Next Document: -23- How do I make GL calls from within a IRIS Performer program?

Single Page

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
sgi-faq@viz.tamu.edu (The SGI FAQ group)





Last Update March 27 2014 @ 02:12 PM