Hi all,
I'm using one of the perfmon's example codes, mont_dear.c, to test the
accessed memory positions on a Itanium2 Montvale. Basically, what I do is to
modify the do_test() function to store in a file the accessed memory
positions. Later, I compare them with the sampled addresses given by the
Event Address Registers (EARs). Surprisingly, all the sampled addresses are
always lower than the ones accessed in the do_test() function. Am I doing
something wrong? This is the modified function I use:
long do_test(unsigned long size)
{
int i, sum = 0;
int *array;
int *addr;
FILE *fd;
fd = fopen("addresses.dat","w");
printf("array size %.1fKB\n", (size*sizeof(int))/1024.0);
array = (int *)malloc(size * sizeof(int));
if (array == NULL ) {
printf("line = %d No memory available!\n", __LINE__);
exit(1);
}
for(i=0; i<size; i++) {
array[i]=1;
addr = array+i;
fprintf(fd,"%p array[%d]: %d\n",addr,i,array[i]);
}
fclose(fd);
return sum;
}
Thanks in advance for all the comments you can provide,
Juan
------------------------------------------------------------------------------
_______________________________________________
perfmon2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel