Using lgrp_affinity_set()
The lgrp_affinity_set()
function sets the affinity that a LWP or set of
LWPs have for a given lgroup.
#include <sys/lgrp_user.h>
int lgrp_affinity_set(idtype_t idtype, id_t id, lgrp_id_t lgrp,
lgrp_affinity_t affinity);The idtype and id arguments specify the LWP or
set of LWPs the lgrp_affinity_set()
function examines. If the
value of idtype is P_PID, the
lgrp_affinity_set()
function sets the lgroup affinity for
all of the LWPs in the process whose process ID matches the value of the
id argument to the affinity level specified in the
affinity argument. If the value of
idtype is P_LWPID, the
lgrp_affinity_set()
function sets the lgroup affinity for
the LWP of the current process whose LWP ID matches the value of the
id argument to the affinity level specified in the
affinity argument. If the value of
idtype is P_MYID, the
lgrp_affinity_set()
function sets the lgroup affinity for
the current LWP or process to the affinity level specified in the
affinity argument. For more information, see the
lgrp_affinity_set(3LGRP) man page.
The lgrp_affinity_set()
function returns EINVAL when the given lgroup, affinity, or ID type is not valid. The lgrp_affinity_set()
function returns EPERM when
the effective user of the calling process is not the superuser and the ID
of the calling process does not match the real or effective user ID of one
of the LWPs. The lgrp_affinity_set()
function returns ESRCH when a given lgroup or LWP is not found.