#include "spebase.h"
Go to the source code of this file.
Defines | |
#define | THREADS_PER_BE 2 |
Functions | |
int | _base_spe_count_physical_cpus (int cpu_node) |
int | _base_spe_count_physical_spes (int cpu_node) |
int | _base_spe_count_usable_spes (int cpu_node) |
#define THREADS_PER_BE 2 |
int _base_spe_count_physical_cpus | ( | int | cpu_node | ) |
Definition at line 30 of file info.c.
References DEBUG_PRINTF, and THREADS_PER_BE.
Referenced by _base_spe_count_physical_spes(), and _base_spe_cpu_info_get().
00031 { 00032 const char *buff = "/sys/devices/system/cpu"; 00033 DIR *dirp; 00034 int ret = -2; 00035 struct dirent *dptr; 00036 00037 DEBUG_PRINTF ("spe_count_physical_cpus()\n"); 00038 00039 // make sure, cpu_node is in the correct range 00040 if (cpu_node != -1) { 00041 errno = EINVAL; 00042 return -1; 00043 } 00044 00045 // Count number of CPUs in /sys/devices/system/cpu 00046 if((dirp=opendir(buff))==NULL) { 00047 fprintf(stderr,"Error opening %s ",buff); 00048 perror("dirlist"); 00049 errno = EINVAL; 00050 return -1; 00051 } 00052 while((dptr=readdir(dirp))) { 00053 ret++; 00054 } 00055 closedir(dirp); 00056 return ret/THREADS_PER_BE; 00057 }
int _base_spe_count_physical_spes | ( | int | cpu_node | ) |
Definition at line 71 of file info.c.
References _base_spe_count_physical_cpus(), and DEBUG_PRINTF.
Referenced by _base_spe_count_usable_spes(), and _base_spe_cpu_info_get().
00072 { 00073 const char *buff = "/sys/devices/system/spu"; 00074 DIR *dirp; 00075 int ret = -2; 00076 struct dirent *dptr; 00077 int no_of_bes; 00078 00079 DEBUG_PRINTF ("spe_count_physical_spes()\n"); 00080 00081 // make sure, cpu_node is in the correct range 00082 no_of_bes = _base_spe_count_physical_cpus(-1); 00083 if (cpu_node < -1 || cpu_node >= no_of_bes ) { 00084 errno = EINVAL; 00085 return -1; 00086 } 00087 00088 // Count number of SPUs in /sys/devices/system/spu 00089 if((dirp=opendir(buff))==NULL) { 00090 fprintf(stderr,"Error opening %s ",buff); 00091 perror("dirlist"); 00092 errno = EINVAL; 00093 return -1; 00094 } 00095 while((dptr=readdir(dirp))) { 00096 ret++; 00097 } 00098 closedir(dirp); 00099 00100 if(cpu_node != -1) ret /= no_of_bes; // FIXME 00101 return ret; 00102 }
int _base_spe_count_usable_spes | ( | int | cpu_node | ) |
Definition at line 62 of file info.c.
References _base_spe_count_physical_spes().
Referenced by _base_spe_cpu_info_get().
00063 { 00064 return _base_spe_count_physical_spes(cpu_node); // FIXME 00065 }