Guia de rastreamento dinâmico Solaris

Argumentos

Os tipos de argumento dos testes sched estão listados na Tabela 26–2; os argumentos são descritos na Tabela 26–1.

Tabela 26–2 Argumentos do teste sched

Teste 

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 *

— 

— 

Conforme indica a Tabela 26–2, muitos testes sched possuem argumentos que consistem em um ponteiro para uma lwpsinfo_t e um ponteiro para uma psinfo_t, indicando um segmento e o processo que contém o segmento, respectivamente. Essas estruturas são descritas detalhadamente em lwpsinfo_t e psinfo_t, respectivamente.

cpuinfo_t

A estrutura cpuinfo_t define uma CPU. Conforme indica a Tabela 26–2, os argumentos para ambos os testes enqueue e dequeue incluem um ponteiro para uma cpuinfo_t. Além disso, a cpuinfo_t correspondente à CPU atual é apontada pela variável curcpu. A definição da estrutura de cpuinfo_t é a seguinte:

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;

O membro cpu_id é o identificador de processador, conforme retornado por psrinfo(1M) e p_online(2).

O membro cpu_pset é o conjunto de processadores que contém a CPU, se houver alguma. Consulte psrset(1M) para obter mais detalhes sobre conjuntos de processadores.

O membro cpu_chip é o identificador do chipe físico. Chipes físicos podem conter várias CPUs. Consulte psrinfo(1M) para obter mais informações.

O membro cpu_lgrp é o identificador do grupo de latência associado à CPU. Consulte liblgrp(3LIB) para obter detalhes sobre grupos de latência.

O membro cpu_info é a estrutura de processor_info_t associada à CPU, conforme retornado por processor_info(2).