SGI IRIX corner

(Click on Stop or type Esc to stop this animation...)

sgi

[ Parallel memory allocators ]
[ Fast timer ]
[ Thread identifier ]
[ Perfex scripts ]
[ TLB misses ]


Parallel memory allocators

To our knowledge, there exists two parallel allocators running on IRIX: We have somehow enhanced the Linux version, and we will make it available when it will be cleaned.


Fast timer

The following function returns the number of nanoseconds spent since the last reboot of the machine, without any overhead.
#include <time.h>

__uint64_t readTSC (void)
{
  struct timespec tp;
  clock_gettime (CLOCK_SGI_CYCLE, &tp);
  return (__uint64_t)(tp.tv_sec * (__uint64_t)1000000000) + (__uint64_t)tp.tv_nsec;
}
    
For same kinds of timers for other architectures, please see Eugen Dedu's page.

A standard API for "accessing hardware performance counters available on most modern microprocessors" is now available at Performance Data Standard and API.


Thread identifier

When using m_fork(), the m_get_myid() function returns the thread identifier (tid). Unfortunately, this call is time consuming. This function can be advantageously replaced with the get_tid() macro which is defined in <task.h> as (PRDALIB->t_tid).


Perfex scripts



TLB misses



Warranty disclaimer (from GNU GENERAL PUBLIC LICENSE)

11. Because the program is licensed free of charge, there is no warranty for the program, to the extent permitted by applicable law. Except when otherwise stated in writing the copyright holders and/or other parties provide the program "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the program is with you. Should the program prove defective, you assume the cost of all necessary servicing, repair or correction.

12. In no event unless required by applicable law or agreed to in writing will any copyright holder, or any other party who may modify and/or redistribute the program as permitted above, be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the program (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the program to operate with any other programs), even if such holder or other party has been advised of the possibility of such damages.


Valid HTML 4.0! Xavier Cavin (if you are lost, click home)
Last modified: Fri Nov 9 11:12:27 MST 2001