version 1.81, 2015/01/16 06:40:13 |
version 1.82, 2015/01/19 01:53:18 |
|
|
#define pagetok(size) ((size) << pageshift) |
#define pagetok(size) ((size) << pageshift) |
|
|
int ncpu; |
int ncpu; |
|
int fscale; |
|
|
unsigned int maxslp; |
unsigned int maxslp; |
|
|
int |
int |
|
getfscale(void) |
|
{ |
|
int mib[] = { CTL_KERN, KERN_FSCALE }; |
|
size_t size = sizeof(fscale); |
|
|
|
if (sysctl(mib, sizeof(mib) / sizeof(mib[0]), |
|
&fscale, &size, NULL, 0) < 0) |
|
return (-1); |
|
return fscale; |
|
} |
|
|
|
int |
getncpu(void) |
getncpu(void) |
{ |
{ |
int mib[] = { CTL_HW, HW_NCPU }; |
int mib[] = { CTL_HW, HW_NCPU }; |
|
|
|
|
ncpu = getncpu(); |
ncpu = getncpu(); |
if (ncpu == -1) |
if (ncpu == -1) |
|
return (-1); |
|
if (getfscale() == -1) |
return (-1); |
return (-1); |
cpu_states = calloc(ncpu, CPUSTATES * sizeof(int64_t)); |
cpu_states = calloc(ncpu, CPUSTATES * sizeof(int64_t)); |
if (cpu_states == NULL) |
if (cpu_states == NULL) |