[common] cpuinfo: add sockets to interface

This commit is contained in:
Quantum 2022-01-07 03:06:17 -05:00 committed by Geoffrey McRae
parent 32134b33ea
commit 194241c5a3
5 changed files with 16 additions and 6 deletions

View File

@ -24,7 +24,8 @@
#include <stddef.h>
#include <stdbool.h>
bool lgCPUInfo(char * model, size_t modelSize, int * procs, int * cores);
bool lgCPUInfo(char * model, size_t modelSize, int * procs, int * cores,
int * sockets);
void lgDebugCPU(void);
#endif

View File

@ -26,13 +26,14 @@ void lgDebugCPU(void)
char model[1024];
int procs;
int cores;
int sockets;
if (!lgCPUInfo(model, sizeof model, &procs, &cores))
if (!lgCPUInfo(model, sizeof model, &procs, &cores, &sockets))
{
DEBUG_WARN("Failed to get CPU information");
return;
}
DEBUG_INFO("CPU Model: %s", model);
DEBUG_INFO("CPU: %d cores, %d threads", cores, procs);
DEBUG_INFO("CPU: %d sockets, %d cores, %d threads", sockets, cores, procs);
}

View File

@ -27,7 +27,8 @@
#include <string.h>
#include <ctype.h>
bool lgCPUInfo(char * model, size_t modelSize, int * procs, int * cores)
bool lgCPUInfo(char * model, size_t modelSize, int * procs, int * cores,
int * sockets)
{
FILE * cpuinfo = fopen("/proc/cpuinfo", "r");
if (!cpuinfo)
@ -42,6 +43,9 @@ bool lgCPUInfo(char * model, size_t modelSize, int * procs, int * cores)
if (cores)
*cores = 0;
if (sockets)
*sockets = 1;
char buffer[1024];
while (fgets(buffer, sizeof(buffer), cpuinfo))
{

View File

@ -95,7 +95,11 @@ static bool getCoreCount(int * cores, int * procs)
return true;
}
bool lgCPUInfo(char * model, size_t modelSize, int * procs, int * cores)
bool lgCPUInfo(char * model, size_t modelSize, int * procs, int * cores,
int * sockets)
{
if (sockets)
*sockets = 1;
return getCPUModel(model, modelSize) && getCoreCount(cores, procs);
}

View File

@ -613,7 +613,7 @@ static bool newKVMFRData(KVMFRUserData * dst)
return false;
int cpus, cores;
if (lgCPUInfo(model, 1024, &cpus, &cores))
if (lgCPUInfo(model, 1024, &cpus, &cores, NULL))
{
vmInfo->cpus = cpus;
vmInfo->cores = cores;