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.