Guía de seguimiento dinámico de Solaris

Argumentos

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.

cpuinfo_t

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).