Greetings,
Sorry for disturbing, I have just installed Xen on my system (kernel version 2.6.32-5-xen-amd64) and I would like to read hardware events in dom0, I have a program which usually do that in non-Xen kernels (see beneath).
void open_perf(struct perf_event_attr* attr) { static int current=0; int cpu; for(cpu=0; cpu<NBCORE; cpu++) { perfctr[current+cpu]=sys_perf_event_open(attr, -1, cpu, -1, 0);
if(perfctr[current+cpu] <0) { printf("open : %d (%d et %d)\n", perfctr[current+cpu], attr->config, current+cpu); exit(1); } } current+=NBCORE; }
The problem is that the system call "sys_perf_event_open" systematically returns -1
I was wondering whether anyone has experienced the same issue and how I get rid of that.
I tried using perf, but I guess the same thing happens: here is an example:
Performance counter stats for 'mpirun -np 2 ./ep.A':
55075.066063 task-clock-msecs # 1.986 CPUs 282 context-switches # 0.000 M/sec 4 CPU-migrations # 0.000 M/sec 2330 page-faults # 0.000 M/sec <not counted> cycles <not counted> instructions <not counted> cache-references <not counted> cache-misses
27.735049988 seconds time elapsed |