src/sys/x86/x86/mp_x86.c
/*
 * Setup interrupt counters for IPI handlers.
 */
Setup interrupt counters for IPI handlers.
Setup interrupt counters for IPI handlers .
static void
mp_ipi_intrcnt(void *dummy)
{
	char buf[64];
	int i;
	CPU_FOREACH(i) {
		snprintf(buf, sizeof(buf), "cpu%d:invltlb", i);
		intrcnt_add(buf, &ipi_invltlb_counts[i]);
		snprintf(buf, sizeof(buf), "cpu%d:invlrng", i);
		intrcnt_add(buf, &ipi_invlrng_counts[i]);
		snprintf(buf, sizeof(buf), "cpu%d:invlpg", i);
		intrcnt_add(buf, &ipi_invlpg_counts[i]);
		snprintf(buf, sizeof(buf), "cpu%d:invlcache", i);
		intrcnt_add(buf, &ipi_invlcache_counts[i]);
		snprintf(buf, sizeof(buf), "cpu%d:preempt", i);
		intrcnt_add(buf, &ipi_preempt_counts[i]);
		snprintf(buf, sizeof(buf), "cpu%d:ast", i);
		intrcnt_add(buf, &ipi_ast_counts[i]);
		snprintf(buf, sizeof(buf), "cpu%d:rendezvous", i);
		intrcnt_add(buf, &ipi_rendezvous_counts[i]);
		snprintf(buf, sizeof(buf), "cpu%d:hardclock", i);
		intrcnt_add(buf, &ipi_hardclock_counts[i]);
	}		
}
static void mp_ipi_intrcnt ( void * dummy ) { char buf [ 64 ] ; int i ; CPU_FOREACH ( i ) { snprintf ( buf , sizeof ( buf ) , " " , i ) ; intrcnt_add ( buf , & ipi_invltlb_counts [ i ] ) ; snprintf ( buf , sizeof ( buf ) , " " , i ) ; intrcnt_add ( buf , & ipi_invlrng_counts [ i ] ) ; snprintf ( buf , sizeof ( buf ) , " " , i ) ; intrcnt_add ( buf , & ipi_invlpg_counts [ i ] ) ; snprintf ( buf , sizeof ( buf ) , " " , i ) ; intrcnt_add ( buf , & ipi_invlcache_counts [ i ] ) ; snprintf ( buf , sizeof ( buf ) , " " , i ) ; intrcnt_add ( buf , & ipi_preempt_counts [ i ] ) ; snprintf ( buf , sizeof ( buf ) , " " , i ) ; intrcnt_add ( buf , & ipi_ast_counts [ i ] ) ; snprintf ( buf , sizeof ( buf ) , " " , i ) ; intrcnt_add ( buf , & ipi_rendezvous_counts [ i ] ) ; snprintf ( buf , sizeof ( buf ) , " " , i ) ; intrcnt_add ( buf , & ipi_hardclock_counts [ i ] ) ; } }
Setup interrupt counters for IPI handlers.
Setup interrupt counters for IPI handlers .