( home )
 Last Modified:  17 May 2001
TIME PER MYRINET RTC UNIT


Notes after initial post:   None.

In order to investigate the graph representing  CPU overhead , it is necessary to know the amount of time corresponding to the lanai 7 Myrinet card's RTC unit.  The below code was inserted into the gm.c driver:
 
unsigned long r;
struct timeval t;
long sec_before, usec_before;

r = gm_ntohl(is->lanai.special_regs->l7.RTC);
do_gettimeofday(&t);
usec_before = t.tv_usec;
sec_before = t.tv_sec;
do{
          do_gettimeofday(&t);
}while(sec_before+1 > t.tv_sec ||
usec_before > t.tv_usec);
r = gm_ntohl(is->lanai.special_regs->l7.RTC) - r;

GM_PRINT(0, ("Delta RTC unit is %d\n", r));

This code records the lanai7 RTC value, waits one second, and then notes the difference between the current RTC value and the RTC value beforehand.  Ten runs produced the following results :

1993746 1993744 1993745 1993746 1993745 1993742 1993743 1993745 1993740 1993741

Average RTC units per second:  1993743.7
STD:                                                          0.59

10^9/Average RTC units = 501.5 nanoseconds per RTC unit

(see host and NIC information below)

 

This time value of an RTC unit was cross checked by running the timing code of CPU overhead for 2 minutes with 4 second intervals.  This is a cruder but relatively independent method.

RTC units between interrupts:  200  (the mcp did not wait for clearing of interrupt bit)
Procinfo was ran before and after to record the number of IRQ 10 interrupts.  Results are as follows:
IRQ 10 interrupts
        after:    1998820
        before:  1199816
        diff:         799004 (target number of interrupts was 800,000 at mcp)
Period of time with increased system time:  ~72 seconds.

(72 * (10^9) / diff ) / 200 = 450 nanoseconds per RTC unit.   So this crude but independent measurement confirms the above results of 501.5 nanoseconds per RTC unit.

CARD AND HOST INFORMATION:   The tests were run on an FIC VA-503+ motherboard, 500 MHz AMD-K6(tm)-2 processor, and Red Hat 6.2 with Linux Kernel 2.2.14-5.0.  The myrinet card is identified by the following information
 
ON CHIPS
ON BOARD
ON STICKER
LANai 7.2 9947
PCIDMA 1.0 9947
Myrinet M2L-PCI64/2-3.0
1999 Myricom Inc.
357957
M2L-PCI64A-2
40681
A-3935  3952
00:60:dd:7f:cd:21



Bill Lawry
Riley Wilson