Subject: MP interface: iterating over CPU's..
To: None <,>
From: Bill Sommerfeld <>
List: tech-smp
Date: 09/23/2000 20:49:04
A few places in the system (first thing on the list is the
kern.cp_time sysctl and thereabouts) want to look at the "struct
cpu_info" for each running CPU in the system.

I'd like an abstract iterator interface, so that ports can either use
a dense array or a linked list depending on what makes sense..

	struct cpu_info *ci;
	int i;

	for (CPU_INFO_ITERATE(cii, ci)) {
		for (i=0; i<NCPUSTATES; i++) 
			cp_time[i] += ci->ci_schedstate->spc_cp_time[i];

.. as well as an abstract interface to get the cpu_info for a cpu
known by id:

struct cpu_info *CPU_INFO(cpuid_t cpuid);


					- Bill