solaris cpu socket+core counts
This commit is contained in:
parent
187df2f462
commit
56b8e9e6a3
|
@ -40,6 +40,7 @@ public class TestCpuInfo extends SigarTestCase {
|
||||||
traceln("model=" + info.getModel());
|
traceln("model=" + info.getModel());
|
||||||
traceln("mhz=" + info.getMhz());
|
traceln("mhz=" + info.getMhz());
|
||||||
traceln("cache size=" + info.getCacheSize());
|
traceln("cache size=" + info.getCacheSize());
|
||||||
|
assertTrue(info.getTotalSockets() <= info.getTotalCores());
|
||||||
}
|
}
|
||||||
|
|
||||||
int mhz = infos[0].getMhz();
|
int mhz = infos[0].getMhz();
|
||||||
|
|
|
@ -1700,6 +1700,7 @@ int sigar_cpu_info_list_get(sigar_t *sigar,
|
||||||
int brand = -1;
|
int brand = -1;
|
||||||
sigar_cache_t *chips;
|
sigar_cache_t *chips;
|
||||||
int is_debug = SIGAR_LOG_IS_DEBUG(sigar);
|
int is_debug = SIGAR_LOG_IS_DEBUG(sigar);
|
||||||
|
int nsockets = 0;
|
||||||
|
|
||||||
if (sigar_kstat_update(sigar) == -1) { /* for sigar->ncpu */
|
if (sigar_kstat_update(sigar) == -1) { /* for sigar->ncpu */
|
||||||
return errno;
|
return errno;
|
||||||
|
@ -1739,9 +1740,12 @@ int sigar_cpu_info_list_get(sigar_t *sigar,
|
||||||
sigar_cache_get(chips, chip_id);
|
sigar_cache_get(chips, chip_id);
|
||||||
|
|
||||||
if (ent->value) {
|
if (ent->value) {
|
||||||
continue;
|
if (!sigar->cpu_list_cores) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
++nsockets;
|
||||||
ent->value = chips; /*anything non-NULL*/
|
ent->value = chips; /*anything non-NULL*/
|
||||||
if (is_debug) {
|
if (is_debug) {
|
||||||
sigar_log_printf(sigar, SIGAR_LOG_DEBUG,
|
sigar_log_printf(sigar, SIGAR_LOG_DEBUG,
|
||||||
|
@ -1751,6 +1755,9 @@ int sigar_cpu_info_list_get(sigar_t *sigar,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
++nsockets;
|
||||||
|
}
|
||||||
|
|
||||||
SIGAR_CPU_INFO_LIST_GROW(cpu_infos);
|
SIGAR_CPU_INFO_LIST_GROW(cpu_infos);
|
||||||
|
|
||||||
|
@ -1788,6 +1795,12 @@ int sigar_cpu_info_list_get(sigar_t *sigar,
|
||||||
|
|
||||||
sigar_cache_destroy(chips);
|
sigar_cache_destroy(chips);
|
||||||
|
|
||||||
|
for (i=0; i<cpu_infos->number; i++) {
|
||||||
|
sigar_cpu_info_t *info = &cpu_infos->data[i];
|
||||||
|
info->total_sockets = nsockets;
|
||||||
|
info->total_cores = sigar->ncpu;
|
||||||
|
}
|
||||||
|
|
||||||
return SIGAR_OK;
|
return SIGAR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue