add cpu_info.cores_per_socket

This commit is contained in:
Doug MacEachern 2008-04-11 17:46:36 +00:00
parent e4c00a7b92
commit 51b607866f
9 changed files with 17 additions and 4 deletions

View File

@ -509,6 +509,10 @@ use vars qw(%classes %cmds);
name => 'total_sockets', type => 'Int', name => 'total_sockets', type => 'Int',
desc => 'Total CPU sockets (physical)', desc => 'Total CPU sockets (physical)',
}, },
{
name => 'cores_per_socket', type => 'Int',
desc => 'Number of CPU cores per CPU socket',
},
], ],
Uptime => [ Uptime => [
{ {

View File

@ -66,6 +66,7 @@ public class CpuInfo extends SigarCommandBase {
println("Total CPUs....." + info.getTotalCores()); println("Total CPUs....." + info.getTotalCores());
if (info.getTotalCores() != info.getTotalSockets()) { if (info.getTotalCores() != info.getTotalSockets()) {
println("Physical CPUs.." + info.getTotalSockets()); println("Physical CPUs.." + info.getTotalSockets());
println("Cores per CPU.." + info.getCoresPerSocket());
} }
if (cacheSize != Sigar.FIELD_NOTIMPL) { if (cacheSize != Sigar.FIELD_NOTIMPL) {

View File

@ -188,6 +188,7 @@ typedef struct {
sigar_uint64_t cache_size; sigar_uint64_t cache_size;
int total_sockets; int total_sockets;
int total_cores; int total_cores;
int cores_per_socket;
} sigar_cpu_info_t; } sigar_cpu_info_t;
typedef struct { typedef struct {

View File

@ -1987,8 +1987,9 @@ int sigar_cpu_info_list_get(sigar_t *sigar,
info = &cpu_infos->data[cpu_infos->number++]; info = &cpu_infos->data[cpu_infos->number++];
info->total_sockets = ncpu;
info->total_cores = ncpu; info->total_cores = ncpu;
info->cores_per_socket = 1; /*XXX*/
info->total_sockets = ncpu; /*XXX*/
info->cache_size = SIGAR_CPU_CACHE_SIZE; info->cache_size = SIGAR_CPU_CACHE_SIZE;

View File

@ -2132,6 +2132,7 @@ int sigar_cpu_info_list_get(sigar_t *sigar,
info->mhz = mhz; info->mhz = mhz;
info->cache_size = cache_size; info->cache_size = cache_size;
info->total_cores = sigar->ncpu; info->total_cores = sigar->ncpu;
info->cores_per_socket = sigar->lcpu;
info->total_sockets = sigar_cpu_socket_count(sigar); info->total_sockets = sigar_cpu_socket_count(sigar);
} }

View File

@ -679,8 +679,9 @@ int sigar_cpu_info_list_get(sigar_t *sigar,
info = &cpu_infos->data[cpu_infos->number++]; info = &cpu_infos->data[cpu_infos->number++];
info->total_sockets = sigar->ncpu;
info->total_cores = sigar->ncpu; info->total_cores = sigar->ncpu;
info->cores_per_socket = 1; /*XXX*/
info->total_sockets = sigar->ncpu; /*XXX*/
#ifdef __ia64__ #ifdef __ia64__
SIGAR_SSTRCPY(info->vendor, "Intel"); /*XXX*/ SIGAR_SSTRCPY(info->vendor, "Intel"); /*XXX*/

View File

@ -1589,8 +1589,10 @@ int sigar_cpu_info_list_get(sigar_t *sigar,
cpu_info = &cpu_infos->data[cpu_infos->number]; cpu_info = &cpu_infos->data[cpu_infos->number];
get_cpuinfo_max_freq(cpu_info, cpu_infos->number); get_cpuinfo_max_freq(cpu_info, cpu_infos->number);
cpu_info->total_cores = sigar->ncpu;
info->cores_per_socket = sigar->lcpu;
cpu_info->total_sockets = sigar_cpu_socket_count(sigar); cpu_info->total_sockets = sigar_cpu_socket_count(sigar);
cpu_info->total_cores = sigar->ncpu;
++cpu_infos->number; ++cpu_infos->number;
SIGAR_CPU_INFO_LIST_GROW(cpu_infos); SIGAR_CPU_INFO_LIST_GROW(cpu_infos);

View File

@ -1799,6 +1799,7 @@ int sigar_cpu_info_list_get(sigar_t *sigar,
sigar_cpu_info_t *info = &cpu_infos->data[i]; sigar_cpu_info_t *info = &cpu_infos->data[i];
info->total_sockets = nsockets; info->total_sockets = nsockets;
info->total_cores = sigar->ncpu; info->total_cores = sigar->ncpu;
info->cores_per_socket = sigar->ncpu / nsockets;
} }
return SIGAR_OK; return SIGAR_OK;

View File

@ -2005,8 +2005,9 @@ static int sigar_cpu_info_get(sigar_t *sigar, sigar_cpu_info_t *info)
RegCloseKey(key); RegCloseKey(key);
RegCloseKey(cpu); RegCloseKey(cpu);
info->total_cores = sigar->ncpu;
info->cores_per_socket = sigar->lcpu;
info->total_sockets = sigar_cpu_socket_count(sigar); info->total_sockets = sigar_cpu_socket_count(sigar);
info->total_cores = sigar->ncpu;
return SIGAR_OK; return SIGAR_OK;
} }