Ejemplo n.º 1
0
void
disable_fixed_counters(){
	int i;
	for(i=0; i<NUM_THREADS; i++){
		c0.enable[i] = c1.enable[i] = c2.enable[i] = 0;
		c0.ring_level[i] = c1.ring_level[i] = c2.ring_level[i] = 3; // usr + os	
		c0.anyThread[i] = c1.anyThread[i] = c2.anyThread[i] = 1; 
		c0.pmi[i] = c1.pmi[i] = c2.pmi[i] = 0;
	}
	set_fixed_ctr_ctrl( &c0, &c1, &c2 );	
}
Ejemplo n.º 2
0
int init_data() {
    int i;
    uint64_t inst[NUM_THREADS], core[NUM_THREADS], ref[NUM_THREADS];
    for(i=0; i<NUM_THREADS; i++) {
        c0.enable[i] = c1.enable[i] = c2.enable[i] = 1;
        c0.ring_level[i] = c1.ring_level[i] = c2.ring_level[i] = 3; // usr+os
        c0.anyThread[i] = c1.anyThread[i] = c2.anyThread[i] = 1;
        c0.pmi[i] = c1.pmi[i] = c2.pmi[i] = 0;

        last_inst[i]=0;
        last_core[i]=0;
        last_ref[i]=0;
    }
    // set up the MSRs so that data is collected
    set_fixed_ctr_ctrl( &c0, &c1, &c2 );
    // perform a read to init for deltas
    read_data(inst, core, ref);
    return 0;
}