Les types d'argument des sondes sched sont répertoriés dans le Tableau 26–2. Les arguments sont décrits dans le Tableau 26–1.
Tableau 26–2 Arguments de sonde sched
Sonder |
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 * |
— |
— |
Comme indiqué dans le Tableau 26–2, de nombreuses sondes sched disposent d'arguments constitués d'un pointeur sur lwpsinfo_t et d'un pointeur sur psinfo_t, indiquant ainsi un thread et le processus contenant le thread, respectivement. Ces structures sont décrites en détail aux sections lwpsinfo_t et psinfo_t.
La structure cpuinfo_t définit une CPU. Comme indiqué dans le Tableau 26–2, les arguments des sondes enqueue et dequeue incluent un pointeur sur cpuinfo_t. De plus, la structure cpuinfo_t correspondant à la CPU actuelle est indiquée par la variable curcpu. La définition de la structure cpuinfo_t est la suivante :
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;
Le membre cpu_id est l'identificateur de processeur, tel que renvoyé par psrinfo(1M) et p_online(2).
L'élément cpu_pset est le processeur défini contenant la CPU, le cas échéant. Pour plus d'informations sur les définitions du processeur, reportez-vous à psrset(1M).
L'élément cpu_chip est l'identificateur de la puce physique. Les puces physiques peuvent contenir plusieurs CPU. Pour plus d'informations, reportez-vous à psrinfo(1M).
L'élément cpu_lgrp est l'identificateur du groupe de latence associé à la CPU. Pour plus d'informations sur les groupes de latence, reportez-vous à liblgrp(3LIB).
Le membre cpu_info est la structure processor_info_t associée à la CPU, tel que renvoyé par processor_info(2).