![]() ( home ) |
Last Modified: 17 May
2001
|
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);
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
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
|
|
|
PCIDMA 1.0 9947 |
1999 Myricom Inc. 357957 |
40681 A-3935 3952 00:60:dd:7f:cd:21 |