pthread_affinity_np man page on FreeBSD

Man page or keyword search:  
man Server   9747 pages
apropos Keyword Search (all sections)
Output format
FreeBSD logo
[printable version]

PTHREAD_AFFINITY_NP(3)	 BSD Library Functions Manual	PTHREAD_AFFINITY_NP(3)

NAME
     pthread_getaffinity_np, pthread_setaffinity_np — manage CPU affinity

LIBRARY
     POSIX Threads Library (libpthread, -lpthread)

SYNOPSIS
     #include <pthread_np.h>

     int
     pthread_getaffinity_np(pthread_t td, size_t cpusetsize,
	 cpuset_t *cpusetp);

     int
     pthread_setaffinity_np(pthread_t td, size_t cpusetsize,
	 const cpuset_t *cpusetp);

DESCRIPTION
     pthread_getaffinity_np() and pthread_setaffinity_np() allow the manipula‐
     tion of sets of CPUs available to the specified thread.

     Masks of type cpuset_t are composed using the CPU_SET(3) macros.  The
     kernel tolerates large sets as long as all CPUs specified in the set
     exist.  Sets smaller than the kernel uses generate an error on calls to
     pthread_getaffinity_np() even if the result set would fit within the user
     supplied set.  Calls to pthread_setaffinity_np() tolerate small sets with
     no restrictions.

     The supplied mask should have a size of cpusetsize bytes.	This size is
     usually provided by calling sizeof(cpuset_t) which is ultimately deter‐
     mined by the value of CPU_SETSIZE as defined in <sys/cpuset.h>.

     pthread_getaffinity_np() retrieves the mask from the thread specified by
     td, and stores it in the space provided by cpusetp.

     pthread_setaffinity_np() attempts to set the mask for the thread speci‐
     fied by td to the value in cpusetp.

RETURN VALUES
     If successful, the pthread_getaffinity_np() and pthread_setaffinity_np()
     functions will return zero.  Otherwise an error number will be returned
     to indicate the error.

ERRORS
     The pthread_getaffinity_np() and pthread_setaffinity_np() functions may
     fail if:

     [EDEADLK]		The pthread_setaffinity_np() call would leave a thread
			without a valid CPU to run on because the set does not
			overlap with the thread's anonymous mask.

     [EFAULT]		The cpusetp pointer passed was invalid.

     [ESRCH]		The thread specified by the td argument could not be
			found.

     [ERANGE]		The cpusetsize was either preposterously large or
			smaller than the kernel set size.

     [EPERM]		The calling thread did not have the credentials
			required to complete the operation.

SEE ALSO
     cpuset(1), cpuset(2), cpuset_getid(2), cpuset_setid(2), CPU_SET(3),
     pthread(3), pthread_attr_getaffinity_np(3),
     pthread_attr_setaffinity_np(3)

STANDARDS
     The pthread_getaffinity_np and pthread_setaffinity_np functions are non-
     standard FreeBSD extensions and may be not available on other operating
     systems.

HISTORY
     The pthread_getaffinity_np and pthread_setaffinity_np function first
     appeared in FreeBSD 7.2.

AUTHORS
     The pthread_getaffinity_np and pthread_setaffinity_np functions were
     written by David Xu ⟨davidxu@FreeBSD.org⟩, and this manpage was written
     by Xin LI ⟨delphij@FreeBSD.org⟩.

BSD				March 23, 2010				   BSD
[top]

List of man pages available for FreeBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
...................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net