Los tipos de argumento de los sondeos sched se enumeran en la Tabla 26–2; los argumentos se describen en la Tabla 26–1.
Tabla 26–2 Argumentos del sondeo sched
Sondeo |
args[0] |
args[1] |
args[2] |
args[3] |
---|---|---|---|---|
change-pri |
lwpsinfo_t * |
psinfo_t * |
pri_t |
— |
dequeue |
lwpsinfo_t * |
psinfo_t * |
cpuinfo_t * |
— |
enqueue |
lwpsinfo_t * |
psinfo_t * |
cpuinfo_t * |
int |
off-cpu |
lwpsinfo_t * |
psinfo_t * |
— |
— |
on-cpu |
— |
— |
— |
— |
preempt |
— |
— |
— |
— |
remain-cpu |
— |
— |
— |
— |
schedctl-nopreempt |
lwpsinfo_t * |
psinfo_t * |
— |
— |
schedctl-preempt |
lwpsinfo_t * |
psinfo_t * |
— |
— |
schedctl-yield |
lwpsinfo_t * |
psinfo_t * |
— |
— |
sleep |
— |
— |
— |
— |
surrender |
lwpsinfo_t * |
psinfo_t * |
— |
— |
tick |
lwpsinfo_t * |
psinfo_t * |
— |
— |
wakeup |
lwpsinfo_t * |
psinfo_t * |
— |
— |
Tal y como indica la Tabla 26–2 un alto número de sondeos sched tienen argumentos que consisten en un puntero a un lwpsinfo_t y un puntero a un psinfo_t, que indica un subproceso y el proceso que contiene el subproceso, respectivamente. Estas estructuras de describen con detalle en lwpsinfo_t y psinfo_t, respectivamente.
La estructura cpuinfo_t define una CPU. Tal y como indica la Tabla 26–2, los argumentos de los sondeos enqueue and dequeue incluyen un puntero a un cpuinfo_t. Además, el cpuinfo_t que corresponde a la CPU actual es apuntado por la variable curcpu. La definición de la estructura cpuinfo_t es la siguiente:
typedef struct cpuinfo { processorid_t cpu_id; /* CPU identifier */ psetid_t cpu_pset; /* processor set identifier */ chipid_t cpu_chip; /* chip identifier */ lgrp_id_t cpu_lgrp; /* locality group identifer */ processor_info_t cpu_info; /* CPU information */ } cpuinfo_t;
El miembro cpu_id es el identificador del proceso, tal y como devuelvepsrinfo(1M) y p_online(2).
El miembro cpu_pset es el conjunto de procesadores que contiene la CPU, en caso de contener alguno. Consulte psrset(1M) para obtener más detalles acerca de los conjuntos de procesadores.
El miembro cpu_chip es el identificador del chip físico. Los chips físicos pueden contener varias CPU. Consulte psrinfo(1M) para obtener más información.
El miembro cpu_lgrp es el identificador del grupo de latencia asociado a la CPU. Consulte liblgrp(3LIB) para obtener detalles acerca de los grupos de latencia.
El miembro cpu_info es la estructura processor_info_t asociada a la CPU, tal y como la devuelve processor_info(2).