*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> pthread_rad_bind (3)              
Title
Content
Arch
Section
 

pthread_rad_attach(3)

Contents


NAME    [Toc]    [Back]

       pthread_rad_attach, pthread_rad_bind - Attaches or binds a
       thread to a  NUMA  Resource  Affinity  Domain  (libpthread
       library)

SYNOPSIS    [Toc]    [Back]

       #include <numa.h>

       int pthread_rad_attach(
               pthread_t thread,
               radset_t radset,
               ulong_t flags ); int pthread_rad_bind(
               pthread_t thread,
               radset_t radset,
               ulong_t flags );

PARAMETERS    [Toc]    [Back]

       Identifies the thread to be attached or bound to the specified
 set of Resource Affinity Domains (RADs).  Identifies
       the  RAD  set  to  which  the  thread is to be attached or
       bound.

DESCRIPTION    [Toc]    [Back]

       The  pthread_rad_attach()  function  attaches  the  thread
       specified  by the thread argument to the RAD set specified
       by the radset argument.

       The pthread_rad_bind() function binds the specified thread
       to the specified RAD set.

       While  both functions assign a home RAD for the thread, an
       attach operation allows remote  execution  on  other  RADs
       while  a  bind  operation  restricts execution to the home
       RAD. In the following paragraphs,  the  term  "assign"  is
       used  when  the  description  refers  equally  to both the
       attach and the bind operations.

       The home RAD for the thread will be selected by the system
       scheduler  from among the RADs included in radset based on
       current system load balance and the  flags  argument.  The
       overflow  set (mattr_radset) for the thread will be set to
       radset.

       The following symbolic values are defined  for  the  flags
       argument: The requested assignments are mandatory. If this
       option is not set, the system will consider the request to
       be  a  "hint"  and  may  take  no action for the specified
       thread.  The thread has small memory requirements, so  the
       system  should  (for  the  home RAD) favor those RADs with
       light CPU loads, independent of  their  available  memory.
       The  thread  has  large memory requirements, so the system
       should (for the home  RAD)  favor  those  RADs  with  more
       available memory, independent of their CPU loads.

       If the caller does not have partition administration privilege
 and if the radset argument contains  RADs  that  are
       not  in the caller's partition, an error will be returned.





NOTES    [Toc]    [Back]

       The value for the radset argument could be  obtained  from
       an  nloc()  call to assign or migrate the process to a RAD
       close (or closer) to a particular resource. When  obtained
       in  this  manner, the radset value will identify RADs that
       were in the caller's partition at the time of  the  nloc()
       call. The partition configuration could change between the
       call   to   nloc()    and    a    subsequent    call    to
       pthread_rad_attach(),  resulting  in an error. An application
 should be prepared to handle this error, even  though
       it should not be a frequent occurrence.

RETURN VALUES    [Toc]    [Back]

       Success.   Failure.  In this case, the integer value indicates
 the type of error. Possible errors are  as  follows:
       The  thread  is  hard attached (RAD_INSIST) to RADs or has
       memory wired (locked) on its current RAD such that it cannot
  be migrated to the specified RAD set.  One of more of
       the RADs in the radset argument or options  in  the  flags
       argument  are  invalid.   RAD_INSIST  and RAD_MIGRATE were
       specified, and  the  thread  cannot  be  migrated  because
       insufficient  memory  exists  on RADs in the specified RAD
       set.  The caller does not have appropriate  privileges  to
       assign  threads  to  RADs  in  the specified RAD set.  The
       thread specified by thread does not exist.

ERRORS    [Toc]    [Back]

       None.

SEE ALSO    [Toc]    [Back]

      
      
       Functions: nloc(3), pthread_rad_detach(3)



                                            pthread_rad_attach(3)
[ Back ]
 Similar pages
Name OS Title
pthread_rad_detach Tru64 Detach a thread from its Resource Affinity Domain (libpthread library)
rad_attach_pid Tru64 Attaches or binds a process to a Resource Affinity Domain by process ID (libnuma library)
rad_bind_pid Tru64 Attaches or binds a process to a Resource Affinity Domain by process ID (libnuma library)
pthread_nsg_attach Tru64 Attaches a thread to a NUMA Scheduling Group (libpthread library)
pthread_nsg_detach Tru64 Detaches a thread from a NUMA Scheduling Group (libpthread library)
nloc Tru64 Queries the NUMA Topology or Resource Affinity Domains (libnuma library)
rad_fork Tru64 Creates a new process on a Resource Affinity Domain (libnuma library)
rad_foreach Tru64 Enumerates the members of a Resource Affinity Domain (libnuma library)
rad_detach_pid Tru64 Detach a process from a Resource Affinity Domain by pid (libnuma library)
rad_get_current_home Tru64 Returns the caller's home Resource Affinity Domain (libnuma library)
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service