Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 336754
b: refs/heads/master
c: 53d2000
h: refs/heads/master
v: v3
  • Loading branch information
Palmer Cox authored and Rafael J. Wysocki committed Nov 27, 2012
1 parent cb7412c commit 9bf2b34
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fb8eaeb7ab96b09c910e36abf7df7f9ecbb0fb60
refs/heads/master: 53d2000ebe0618219f73ac866701533237180044
21 changes: 13 additions & 8 deletions trunk/tools/power/cpupower/utils/helpers/topology.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,8 @@
#include <helpers/sysfs.h>

/* returns -1 on failure, 0 on success */
int sysfs_topology_read_file(unsigned int cpu, const char *fname)
static int sysfs_topology_read_file(unsigned int cpu, const char *fname, int *result)
{
unsigned long value;
char linebuf[MAX_LINE_LEN];
char *endp;
char path[SYSFS_PATH_MAX];
Expand All @@ -31,10 +30,10 @@ int sysfs_topology_read_file(unsigned int cpu, const char *fname)
cpu, fname);
if (sysfs_read_file(path, linebuf, MAX_LINE_LEN) == 0)
return -1;
value = strtoul(linebuf, &endp, 0);
*result = strtol(linebuf, &endp, 0);
if (endp == linebuf || errno == ERANGE)
return -1;
return value;
return 0;
}

struct cpuid_core_info {
Expand Down Expand Up @@ -82,13 +81,19 @@ int get_cpu_topology(struct cpupower_topology *cpu_top)
for (cpu = 0; cpu < cpus; cpu++) {
cpu_top->core_info[cpu].cpu = cpu;
cpu_top->core_info[cpu].is_online = sysfs_is_cpu_online(cpu);
cpu_top->core_info[cpu].pkg =
sysfs_topology_read_file(cpu, "physical_package_id");
if(sysfs_topology_read_file(
cpu,
"physical_package_id",
&(cpu_top->core_info[cpu].pkg)) < 0)
return -1;
if ((int)cpu_top->core_info[cpu].pkg != -1 &&
cpu_top->core_info[cpu].pkg > cpu_top->pkgs)
cpu_top->pkgs = cpu_top->core_info[cpu].pkg;
cpu_top->core_info[cpu].core =
sysfs_topology_read_file(cpu, "core_id");
if(sysfs_topology_read_file(
cpu,
"core_id",
&(cpu_top->core_info[cpu].core)) < 0)
return -1;
}
cpu_top->pkgs++;

Expand Down

0 comments on commit 9bf2b34

Please sign in to comment.