LGRP_HOME(3LGRP) Locality Group Library Functions LGRP_HOME(3LGRP)

lgrp_home - get home lgroup

cc [ flag... ] file... -llgrp [ library... ]
#include <sys/lgrp_user.h>
lgrp_id_t lgrp_home(idtype_t idtype, id_t id);

The lgrp_home() function returns the ID of the home lgroup for the given process or thread. A thread can have an affinity for an lgroup in the system such that the thread will tend to be scheduled to run on that lgroup and allocate memory from there whenever possible. The lgroup with the strongest affinity that the thread can run on is known as the "home lgroup" of the thread. If the thread has no affinity for any lgroup that it can run on, the operating system will choose a home for it.

The idtype argument should be P_PID to specify a process and the id argument should be its process ID. Otherwise, the idtype argument should be P_LWPID to specify a thread and the id argument should be its LWP ID. The value P_MYID can be used for the id argument to specify the current process or thread.

Upon successful completion, lgrp_home() returns the ID of the home lgroup of the specified process or thread. Otherwise, −1 is returned and errno is set to indicate the error.

The lgrp_home() function will fail if:


The ID type is not valid.


The effective user of the calling process does not have appropriate privileges, and its real or effective user ID does not match the real or effective user ID of one of the threads.


The specified process or thread was not found.

See attributes(7) for descriptions of the following attributes:

Interface Stability Evolving
MT-Level MT-Safe

lgrp_affinity_get(3LGRP), lgrp_init(3LGRP), attributes(7)

June 1, 2003 OmniOS