Index Index for
Section 3
Index Alphabetical
listing for C
Bottom of page Bottom of
page

cpu_get_info(3)

NAME

cpu_get_info, cpu_get_num, cpu_get_max - Query CPU information for the platform (libc library)

SYNOPSIS

#include <cpuset.h> int cpu_get_info( ncpu_info_t *info ); int cpu_get_num( void ); int cpu_get_max( void );

PARAMETERS

info Points to an ncpu_info_t buffer to receive the CPU information for the booted configuration.

DESCRIPTION

The cpu_get_info() function returns the following information about the platform CPU configuration in the buffer pointed to by the info parameter: int ncpu_version Revision number. int ncpu_max Maximum number of CPUs supported by the machine architecture. cpuset_t ncpu_present CPU processor set that is physically plugged into the system and recognized by the system console. cpuset_t ncpu_running Set of online CPUs in the caller's partition; that is, the set of CPUs on which the caller can schedule work. cpuset_t ncpu_binding Set of CPUs in the partition that have processes bound to them. cpuset_t ncpu_ex_binding Set of CPUs in the partition whose processor set is marked for exclusive use. The CPU sets specified in the ncpu_info_t structure must have been created by the caller prior to the call. If the caller specifies zero for a CPU set, the function silently ignores filling in data for that set. The information returned by the cpu_get_info() function is relative to the caller's partition. The cpu_get_num() function returns the actual number of CPUs available in the caller's partition. The cpu_get_max() function returns the maximum number of CPUs, including unpopulated CPU slots, that can be configured in the system.

NOTES

A cpu_get_info() call is similar to a getsysinfo(GSI_CPU_INFO, ...) call. The principal difference is that the main ncpu_info_t structure fields returned by cpu_get_info() are of type cpuset_t, whereas the same information returned by getsysinfo()is of type ulong_t. Furthermore, a getsysinfo(GSI_CPU_INFO, ...) call returns information only about the first n CPUs, where n is the number of bits in a ulong_t field, or (sizeof(ulong_t)*8). For cpu_get_info(), the ncpu_version field of the info argument must be set to NCPU_INFO_VERSION prior to the call.

RESTRICTIONS

The information returned by these functions is a snapshot of the platform/partition configuration at the time the information is sampled. The data may be stale by the time the caller uses the information.

RETURN VALUES

The cpu_get_info() function returns the following values: 0 Success. -1 Failure. In this case, errno is set to indicate the error. The cpu_get_num() and cpu_get_max() functions return values as stated in the DESCRIPTION. These functions always complete successfully.

ERRORS

The cpu_get_info() function fails, it sets errno to one of the following values: [EFAULT] The info argument or one of the cpuset_t elements, points to an invalid address. [EINVAL] One or more of the cpuset_t elements of the info argument points to an invalid CPU set, possibly one that was not created by cpusetcreate(). [EPERM] The version number specified in the ncpu_version field of the info argument is not recognized by the system.

SEE ALSO

Functions: cpusetops(3), numa_intro(3)

Index Index for
Section 3
Index Alphabetical
listing for C
Top of page Top of
page