@ -32,7 +32,6 @@ const (
CTLKern = 1 // "high kernel": proc, limits
CTLKern = 1 // "high kernel": proc, limits
CTLHw = 6 // CTL_HW
CTLHw = 6 // CTL_HW
SMT = 24 // HW_SMT
SMT = 24 // HW_SMT
NCpuOnline = 25 // HW_NCPUONLINE
KernCptime = 40 // KERN_CPTIME
KernCptime = 40 // KERN_CPTIME
KernCptime2 = 71 // KERN_CPTIME2
KernCptime2 = 71 // KERN_CPTIME2
)
)
@ -163,25 +162,17 @@ func InfoWithContext(ctx context.Context) ([]InfoStat, error) {
c := InfoStat { }
c := InfoStat { }
var u32 uint32
mhz , err := unix . SysctlUint32 ( "hw.cpuspeed" )
if u32 , err = unix . SysctlUint32 ( "hw.cpuspeed" ) ; err != nil {
return nil , err
}
c . Mhz = float64 ( u32 )
mib := [ ] int32 { CTLHw , NCpuOnline }
buf , _ , err := common . CallSyscall ( mib )
if err != nil {
if err != nil {
return nil , err
return nil , err
}
}
c . Mhz = float64 ( mhz )
var ncpu int32
ncpu , err := unix . SysctlUint32 ( "hw.ncpuonline" )
br := bytes . NewReader ( buf )
err = binary . Read ( br , binary . LittleEndian , & ncpu )
if err != nil {
if err != nil {
return nil , err
return nil , err
}
}
c . Cores = ncpu
c . Cores = int32 ( ncpu )
if c . ModelName , err = unix . Sysctl ( "hw.model" ) ; err != nil {
if c . ModelName , err = unix . Sysctl ( "hw.model" ) ; err != nil {
return nil , err
return nil , err